Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么我在使用for循环和cout命令时不打印向量_C++_For Loop_Vector_Cout - Fatal编程技术网

C++ 为什么我在使用for循环和cout命令时不打印向量

C++ 为什么我在使用for循环和cout命令时不打印向量,c++,for-loop,vector,cout,C++,For Loop,Vector,Cout,我似乎找不到向量组件的内容不使用for循环和cout提供的原因。代码的背景是,我想知道当你调整一个已经存在的向量时会发生什么(如果变小,哪些组件会脱落,如果变大,哪些组件会被添加,…) #包括 #包括 #包括 #包括 使用名称空间std; int main() { 载体a; 对于(int i=1;i

我似乎找不到向量组件的内容不使用for循环和cout提供的原因。代码的背景是,我想知道当你调整一个已经存在的向量时会发生什么(如果变小,哪些组件会脱落,如果变大,哪些组件会被添加,…)

#包括
#包括
#包括
#包括
使用名称空间std;
int main()
{
载体a;
对于(int i=1;i<10;++i)
a[i]=5;
a、 调整大小(15)
对于(int i=1;icout您的代码中有一个越界访问权限。在填充向量之前,您需要调整向量的大小。或者,您可以使用
push_back
插入元素。
在任何一种情况下,它都会像您预期的那样工作。

您的代码中有一个越界访问权限。您需要在填充向量之前调整向量的大小。或者,您可以使用
推回
插入元素。
在任何一种情况下,它都将按预期工作。

您没有更改向量的大小。要插入向量,可以使用或方法。如果将插入代码更改为

for (int i = 1; i < 10; ++i)
  a.push_back(i);

然后打印循环应该可以正常工作。

您没有更改向量的大小。要插入向量,可以使用或方法。如果将插入代码更改为

for (int i = 1; i < 10; ++i)
  a.push_back(i);

然后,打印循环应该可以正常工作。

程序具有未定义的行为,因为声明的向量为空,并且不能对空向量使用下标运算符

vector<double> a;
for (int i = 1; i < 10; ++i)
a[i] = 5;
向量a;
对于(int i=1;i<10;++i)
a[i]=5;
此外,向量的索引从0开始

你可以写

vector<double> a( 10 );
for (int i = 0; i < 10; ++i)
a[i] = 5;
向量a(10);
对于(int i=0;i<10;++i)
a[i]=5;

向量a;
对于(int i=0;i<10;++i)
a、 推回(5);
或者为了使最后一段代码更有效,您可以编写

vector<double> a;
a.reserve( 10 );
for ( int i = 0; i < 10; ++i)
a.push_back( 5 );
向量a;
a、 储备(10);
对于(int i=0;i<10;++i)
a、 推回(5);
同样,要输出向量的全部内容,您应该从0开始索引。或者您可以使用基于范围的for循环

for ( const auto &item : a ) std::cout << item << '\';

对于(const auto&item:a)std::cout程序具有未定义的行为,因为声明的向量为空,并且不能对空向量使用下标运算符

vector<double> a;
for (int i = 1; i < 10; ++i)
a[i] = 5;
向量a;
对于(int i=1;i<10;++i)
a[i]=5;
此外,向量的索引从0开始

你可以写

vector<double> a( 10 );
for (int i = 0; i < 10; ++i)
a[i] = 5;
向量a(10);
对于(int i=0;i<10;++i)
a[i]=5;

向量a;
对于(int i=0;i<10;++i)
a、 推回(5);
或者为了使最后一段代码更有效,您可以编写

vector<double> a;
a.reserve( 10 );
for ( int i = 0; i < 10; ++i)
a.push_back( 5 );
向量a;
a、 储备(10);
对于(int i=0;i<10;++i)
a、 推回(5);
同样,要输出向量的全部内容,您应该从0开始索引。或者您可以使用基于范围的for循环

for ( const auto &item : a ) std::cout << item << '\';
for(const auto&item:a)std::cout