C++ vector添加元素出现多余的0
之前写代码的时候,
发现我的vector添加元素之后(push_back/emplace_back)
实际的元素个数总是对不上,
还多了一些莫名其妙的0
找了半天bug发现是自己定义vector的时候出了错,
我把vector的size在定义的时候提前初始化好了,
那这些空间其实都是有默认值的,
当你再push_back的时候,
就是接着后面添加而不是覆盖原来的默认值
直接赋值可以解决这个问题
或者定义的时候不指定空间大小,也就是所谓的动态vector
PS:如果你定义好了size再push_back的话,
size就会跟着增大,会和原来设定的不一样