在构造函数初始化列表中使用placement new的语法是什么

Wei*_*ieh 5 c++ constructor initialization

假设我有一堂课

class MyClass
int buf[10];
public:
MyClass(int i) {
    new (&buf) OtherClass(i); // How to move this to constructor initialize list?
}
Run Code Online (Sandbox Code Playgroud)

:不用后,只需将该行复制到该位置即可。

son*_*yao 4

我不确定你将如何使用构造的对象;我想MyClass有一个指向该对象的数据成员指针,然后初始化该指针,如下所示:

class MyClass {
int buf[10];
OtherClass* p;
public:
    MyClass(int i) : p(new (&buf) OtherClass(i)) {  
    }
};
Run Code Online (Sandbox Code Playgroud)