例如,假设我有以下代码:
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循环中自动被破坏.为什么大牌仍然可以获得正确的价值?
谢谢!