Tôi có một số khó khăn trong việc hiểu hành vi của hàm C++ rõ ràng, khi áp dụng cho một vectơ.vector :: rõ ràng trong C++
Tôi cố gắng để biên dịch và chạy các chức năng sau:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
unsigned int i;
vector<int> myvector;
myvector.push_back (1);
myvector.push_back (2);
myvector.push_back (3);
cout << "myvector contains:";
for (i=0; i<myvector.size(); i++) cout << " " << myvector[i];
myvector.clear();
myvector.push_back (11);
myvector.push_back (12);
cout << "\nmyvector contains:";
for (i=0; i<myvector.size(); i++) cout << " " << myvector[i];
cout << endl;
cout << " entry3 = " << myvector[2]<<endl;
return 0;
}
Và đây là kết quả:
myvector contains: 1 2 3
myvector contains: 11 12
entry3 = 3
Làm thế nào là nó có thể là thông tin của mục thứ ba của vector có không bị xóa khi xóa véc tơ?
toán tử [] không xác nhận chỉ số thời gian. Hãy thử thao tác tương tự với .at (n) và xem điều gì xảy ra. – WhozCraig