C++ C++;不需要向量的输出元素

C++ C++;不需要向量的输出元素,c++,ranged-loops,C++,Ranged Loops,我正在练习向量和循环范围,我的代码: #include <iostream> #include <vector> using namespace std; int main(){ int size,element; cout<<"enter vector size: "; cin>>size; vector<int>v(size); for(int i=0; i<siz

我正在练习向量和循环范围,我的代码:

#include <iostream>
#include <vector>
using namespace std;

int main(){
    int size,element;
    cout<<"enter vector size: ";
    cin>>size;
    vector<int>v(size);
    for(int i=0; i<size; i++){
        cout<<i<<"\t";
        cin>>element;
        v.push_back(element);
    }
    for(int p : v) cout<<p<<" ";
}
#包括
#包括
使用名称空间std;
int main(){
int大小,元素;
coutsize;
向量(大小);
对于(int i=0;i
vectorv(size);
创建一个
size
零初始化元素的向量(在您的案例3中)。
push_back
然后将新元素添加到此向量的末尾,这解释了您得到的结果

您可以使用
reserve
为向量中的元素保留空间。如果您事先知道要添加多少元素,这会在一定程度上加快速度。

vectorv(大小);
vector<int>v(size);
这将创建一个大小等于size变量的向量。现在,如果将_向后推,它将创建一个大小为+1的新向量,并将元素添加到其中。
作为附录,您可能需要查找
vector
reserve
方法。对于某些应用程序,有必要创建一个默认(零)大小的向量,然后调用
reserve
以获得所需的内存大小(而向量大小不变),然后在中添加值。我们不使用范围循环到向量的cin元素,对吗?因为我只看到使用范围循环的cout示例(对于(int u:v)cin>>v[u];不起作用),如果不更改循环中向量的大小就可以了。非常感谢!