Tel*_*ope 0 c++ data-structures
我在编程中使用了各种数据结构,我经常将数据从一种结构转移到另一种结构。
// assume that I want to transfer all data from v to Q
vector <int> v = {1, 2, 3, 4};
queue <int> Q;
for(int item : v){
Q.push(item);
}
// after this point, v is no longer used
Run Code Online (Sandbox Code Playgroud)
使用完结构后,清空它是一个好习惯吗?例如,在上面的代码中,我应该v = {};
在最后一条评论后输入吗?
不,那完全没有意义。
相反,将变量的范围最小化到您需要它们的地方,这样您就不会在您打算之后意外地使用它们;你的构建将失败。
使用函数(最好)或其他块作用域来做到这一点:
queue <int> Q;
{
vector <int> v = {1, 2, 3, 4};
for(int item : v){
Q.push(item);
}
}
Run Code Online (Sandbox Code Playgroud)
通过这种方式,如果您的容器绝对巨大并且您觉得有必要,您仍然可以获得回收内存的好处。
归档时间: |
|
查看次数: |
55 次 |
最近记录: |