在C++中初始化向量
Initializing vectors in C++?
我有一个名为vector_size的变量。此变量的值由用户在运行时输入。我还有一个班级MyClass。
我想创建一个 MyClass 的向量。我希望向量具有vector_size元素。我该怎么做?
这是我到目前为止尝试过的:
vector <MyClass> myVector (vector_size) = MyClass();
上面的代码不起作用。我将如何制作一个vector_size向量,并初始化每个元素?
请注意,我不想只为vector_size元素"保留空间"。我希望向量填充vector_size元素,并且每个元素都需要使用构造函数进行初始化。
本质上,我想在一行中执行以下操作:
vector <MyClass> myVector;
for (int counter = 0; counter < vector_size; counter++) {
myVector.pushBack (MyClass());
}
要走的路是:
vector<MyClass> myVector(size, MyClass());
这也应该有效:
vector<MyClass> myVector(size);
第一个变体采用一个将用于构造向量元素的对象,第二个变体将使用默认构造函数初始化它们,因此在这种情况下,两个变体应该是等效的。
MyClass
应该有一个默认的构造函数,或者一个不需要任何参数来执行你想要的构造函数。
然后你可以打电话:
vector <MyClass> myVector (vector_size);
查看以下示例中的std::vector<int> second
:http://www.cplusplus.com/reference/vector/vector/vector/
当你在那里时,看看std::vector的"填充构造函数"。
对于您的情况:std::vector<MyClass> v(vector_size, MyClass());
相关文章:
- 为什么我在向量初始化时收到此错误?
- 使用向量初始化参数化构造函数的对象数组
- C++向量初始化遗传算法的代理向量
- shared_ptr类的向量的向量初始化问题
- 如何实现使用 gcc-4.4 编译的大向量初始化?
- 使用向量初始化C++中的链表
- C++ 中的向量初始化
- 如何使用嵌套初始化构造函数中的一维向量初始化矩阵
- std::另一个函数中的向量初始化
- 理解向量初始化时出现问题
- 静态常量 std::<char>没有堆的向量初始化?
- 向量初始化在 C++ 类中失败
- 具有从特定范围的随机数初始化特征矩阵或向量初始化特征矩阵或向量的有效方法
- 关于向量初始化的一些问题
- 了解C 中的向量初始化
- 设置::使用数字中的引号进行向量初始化
- VS2010中的向量初始化
- C++:构造函数中的向量初始化
- 如何从向量初始化数组?(如何将指针强制转换为数组?)
- 给我一个向量初始化的提示或(答案)