В следующем коде я печатаю первый элемент вектора и его размер до и после вызова метода clear () встроенного вектора.
Однако даже после вызова clear ()Я все еще могу сослаться на элемент вектора (хотя размер сбрасывается до '0').
Это ожидаемое поведение или я плохо понял поведение clear ()?
КОД:
#include <vector>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
vector<int> vec = {1, 2, 3, 4, 5};
cout << vec[0] << " " << vec.size() << endl;
vec.clear();
for(auto i : vec)
cout << i << " ";
cout << endl;
cout << vec[0] << " " << vec.size() << endl;
return 0;
}
ВЫХОД:
1 5
1 0