struct A {
int a;
int b;
}
std::vector<A> VA;
VA.reserve(2);
VA[0].a=1;
VA[0].b=2;
VA[1].a=1;
VA[1].b=2;
这样是无法借助于for(auto it = VA.begin; it!=VA.end();it++)去访问vector中的元素的,必须要push_back的元素才能访问。
1.vector类型的变量 要直接用下标的方式访问 必须要先reserve
2.使用下标访问的方式 vector size为0, 是无法通过迭代器访问的
1.vector类型的变量 以push_back的方式访问 不需要先reserve 但是先reserve 向容器中存入数据的速度明显加快 而且不会出现多余的内存空间
C++容器使用reserve的重要性,以及如何释放多余内存 - 知乎
2.使用push_back访问的方式 vector size不为0, 可以通过迭代器访问