一遍又一遍地构造同一个对象

时间:2017-04-16 01:39:54

标签: c++ object vector

我刚刚学习了C ++,在练习的过程中,我遇到了我想将所有向量数组的值重置为零的情况。我想知道vectorArr实际发生了什么,如果你继续这样做:

data.frame

它是否只是从内存中丢弃了前一个并创建了一个具有相同名称的新内容?

2 个答案:

答案 0 :(得分:1)

vectorArr只出现在while范围内,所以在到达循环结束后,vectorArr被破坏,再次启动时,它是一个全新的向量。

答案 1 :(得分:1)

是的,每当大括号{}决定对象的生命周期时,这将创建并销毁vectorArr,以避免每次执行时都创建和删除:

i = 0;
vector<int> vectorArr(some_size); 
while(i < 5)
{ 
    ...
    i++; 
    vectorArr.clear(); //last statement of while loop
}