64,636
社区成员
发帖
与我相关
我的任务
分享
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector<int> ivec(3, 1);
int &i = ivec[2];
ivec.push_back(2);
i = 5;
cout << ivec[2] << endl;
}
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector<int> ivec(3, 1);
ivec.reserve(10);//显示告诉编译器预留10个元素的空间
//只要添加的元素<=10,则不会加载容器,引用是有效的
//但如果插入的元素>10,则容器会被重新加载,引用失效
int &i = ivec[2];
ivec.push_back(2);
i = 5;
cout << ivec[2] << endl;
}
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector<int> ivec(3, 1);
int &i = ivec[2];
ivec.push_back(2);
i = 5;
cout << ivec[2] << endl;
}
vector<int> ivec(3, 1);
ivec.reserve(4); //这里分配足够的内存,i引用就不会失效
int &i = ivec[2];
ivec.push_back(2);
i = 5;
cout << ivec[2] << endl;