vector pop_back,erase和clear不要破坏向量的元素

时间:2014-05-11 10:58:03

标签: c++ vector clear

vector pop_back,erase和clear不要破坏vector的元素:

vector <string> strs;
string text = "sample text";
strs.push_back(text);

strs.pop_back();
// or strs.clear();
// or erase(strs.begin());
cout << "vector size: " << strs.size() << "\n";  // returns "0" 
cout << strs[0]; // still returns "sample text", no error !
getc(stdin);

元素怎么没有失效?

1 个答案:

答案 0 :(得分:1)

元素无效。证据是你得到了一个你无法预测的结果。如果它有效,您将能够准确地预测结果。因为元素无效,结果完全不可预测,所以,不出所料,你无法预测会发生什么。