是否可以在 new 执行期间在构造函数中传递不同的参数?

Dim*_*imK 2 c++ constructor new-operator

假设我有一个带有构造函数的类:

Class MyClass {
  public:
     MyClass(int arg);
  private:
     int a;
};
Run Code Online (Sandbox Code Playgroud)

和一个全局数组:

int MyArray[]={1,2,3,4,5,6,7,8,9,10}
Run Code Online (Sandbox Code Playgroud)

我想要一个指向 MyClass 的动态指针数组,但数组的每个元素必须调用具有不同编号的构造函数。我试图做类似的事情,但没有成功

int main()
{
   int i=0;
   MyClass *MyDynArray = new MyClass[10]{MyArray[i++]};
}
Run Code Online (Sandbox Code Playgroud)

是否可以在不使用向量的情况下在 C++ 中做到这一点?提前致谢!!

Vla*_*cow 5

您可以使用与声明具有自动或静态存储持续时间的数组相同的方式来执行此操作。

MyClass *MyDynArray = new MyClass[10]{1,2,3,4,5,6,7,8,9,10};
Run Code Online (Sandbox Code Playgroud)