在C ++ for循环中使用向量堆错误?

时间:2012-06-14 18:33:55

标签: c++ memory memory-management

在for循环中声明和使用向量是否存在堆损坏的已知问题?比如这样做:

for(int i = 0; i < N; ++i) {
   std::vector<int> vec;
   for(int j = 0; j < 3; ++j) {
      vec.push_back(0); //-Initialize
   }
   ...
   ...
}

1 个答案:

答案 0 :(得分:5)

不,没关系,但使用

可以获得相同的效果
std::vector<int> vec(3,0)

而不是第二个循环。