【发布时间】:2012-05-11 22:13:30
【问题描述】:
在 C++ 中,可以使用int myarray[20] 创建一个预定义大小的数组,例如 20。但是,the online documentation on vectors 并没有显示出类似的初始化向量的方式:相反,应该使用例如std::vector<int> myvector (4, 100); 来初始化向量。这给出了一个大小为 4 的向量,所有元素的值都是 100。
如何像数组一样仅使用预定义的大小和没有预定义的值来初始化向量?
【问题讨论】:
-
@JesseGood - 我在编辑中链接到了两者,第一次用手指发胖了;)
-
@BrianRoach:您也可能想阅读What's wrong with cplusplus.com?。
-
对不起,我犯了一个错误。我总是使用它的默认构造函数创建向量,从来没有读过有一个构造函数接受两个参数,第一个作为元素的数量,第二个作为元素值。此构造函数创建一个由用户定义大小的向量,并将用户定义的值分配给所有位置。
-
文档有时很难理解。 cplusplus.com/reference/vector/vector/vector 如果你解释 c++11 选项卡,你必须集中精力找到这个:explicit vector (size_type n);这基本上是说您可以设置大小而不是填充值,因此 std:vector
arr(20) 将起作用。但我一开始也找不到这个,只看到了带有 2 个参数(大小,填充值)的构造函数