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

被折叠的 条评论
为什么被折叠?



