小编Ton*_*eng的帖子

在C++中,何时为本地向量自动调用析构函数?

例如,假设我有以下代码:

vector<vector<int>> big;
for (int i=0;i<3;++i){
    vector<int> small;
    small.push_back(3*i+1);
    small.push_back(3*i+2);
    small.push_back(3*i+3);
    big.push_back(small);
}
for (vector<int> s:big){
    for (int a:s){cout<<a<<" ";}
    cout<<endl;
}
Run Code Online (Sandbox Code Playgroud)

cout给出的结果是big包含每个for循环中的vector的值,我很困惑因为我认为vector for small会在每个for循环中自动被破坏.为什么大牌仍然可以获得正确的价值?

谢谢!

c++ vector

0
推荐指数
1
解决办法
119
查看次数

标签 统计

c++ ×1

vector ×1