用C++初始化向量?

daf*_*fsd 1 c++ vector

我有一个名为vector_size的变量.该变量的值由用户在运行时输入.我也有一个MyClass类.

我想创建一个MyClass向量.我希望向量具有vector_size元素.我该怎么做?

这是我到目前为止所尝试的:

vector <MyClass> myVector (vector_size) = MyClass();
Run Code Online (Sandbox Code Playgroud)

上面的代码不起作用.我如何制作vector_size的向量,并初始化每个元素?

请注意,我不想只为vector_size元素"保留空间".我希望使用vector_size元素填充向量,并且每个元素都需要使用构造函数进行初始化.

基本上,我想在一行中执行以下操作:

vector <MyClass> myVector;
for (int counter = 0; counter < vector_size; counter++) {
    myVector.pushBack (MyClass());
}
Run Code Online (Sandbox Code Playgroud)

bia*_*pio 7

要走的路是:

vector<MyClass> myVector(size, MyClass());
Run Code Online (Sandbox Code Playgroud)

这应该也有效:

vector<MyClass> myVector(size);
Run Code Online (Sandbox Code Playgroud)

第一个变体采用将用于构造向量元素的对象,第二个变量将使用默认构造函数初始化它们,因此在这种情况下,两个变体应该是等效的.