c++ 内部 STL 库中自带了一个容器 vetcor, 自带了清空方法 --clear(). 但是 clear 使用之后, 并不能清空数据, 其数据再未被覆盖之前是不会改变的, 个人猜测 clear 仅仅把指针挪动到了起始位置, 所以需要清空置值的话, 就需要配合上 resize 方法, resize 重分配之后是可以直接 [ ] 访问的.
reszie 有被重载过一次, 有两种实现方式:
- ,void resize(std::size_t __new_size, int __x);
- ,void resize(std::size_t __new_size);
多出来的 x 是想初始化后生成的数,(其实个人感觉 gcc 里的函数声明的原型应该是这样的 void resize(std::size_t __new_size, int __x = 0); 默 x 为 0)
当然, 也可以用循环的方式进行清空.(目前只能想到这些)
如果想要清空二维的 vetcor, 那就得一行行的 clear 和 resize.
学习不易, 诸君共勉!
来源: http://www.bubuko.com/infodetail-3323231.html