我创建了一个int类型的向量,并为向量显式声明了大小为3.for循环假设循环直到x等于或大于3.不幸的是,for循环保持运行3.任何人都可以详细说明为什么会发生这种情况?我打算用它来说它是"u.size",它正在创造这个问题,但是如果我宣布一个向量的大小,为什么会这样呢?
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> u (3);
for(size_t x = 0; x < u.size();x++)
{
int g = x;
u.push_back(g);
}
}
Run Code Online (Sandbox Code Playgroud)
你经常打电话push_back,改变size.
如果您打算填充这样的矢量,您可以简单地执行以下操作:
vector<int> u;
for(size_t x = 0; x < 3; x++) {
u.push_back(x);
}
Run Code Online (Sandbox Code Playgroud)
或者,或者,
vector<int> u(3); // the constructor fills the vector with 3 default-initialized elements
for(size_t x = 0; x < u.size(); x++) {
u[x] = x;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |