C++ 什么';以下向c+添加元素的方法之间的区别是什么+;矢量

C++ 什么';以下向c+添加元素的方法之间的区别是什么+;矢量,c++,c++11,stdvector,push-back,C++,C++11,Stdvector,Push Back,代码段1:以下代码段打印出0 1,但返回空向量 vector<int> trial() { vector<int> ret; ret.reserve(2); ret[0] = 0; ret[1] = 1; cout << ret[0] << " " << ret[1] << "\n"; return ret; } 向量试验(){ 向量ret; 后备储备(2); ret[0]=

代码段1:以下代码段打印出0 1,但返回空向量

vector<int> trial() {
    vector<int> ret;
    ret.reserve(2);
    ret[0] = 0;
    ret[1] = 1;
    cout << ret[0] << " " << ret[1] << "\n";
    return ret;
}
向量试验(){ 向量ret; 后备储备(2); ret[0]=0; ret[1]=1; cout
reserve()
不会更改向量大小,您需要的是
resize()
它。

使用
resize()
,而不是
reserve()
vector<int> trial() {
    vector<int> ret;
    ret.push_back(0);
    ret.push_back(1);
    cout << ret[0] << " " << ret[1] << "\n";
    return ret;
}