私たちが持っていると言う
Class A{};
int *p = malloc(100);
A a; //default constructor in use
*p = A; (question???)
割り当てメモリpでタイプAのオブジェクトを初期化する方法は?
私たちが持っていると言う
Class A{};
int *p = malloc(100);
A a; //default constructor in use
*p = A; (question???)
割り当てメモリpでタイプAのオブジェクトを初期化する方法は?
特定のアドレスでクラスインスタンスをインスタンス化するには、placementnewを使用する必要があります。
#include <new>
#include <stdlib.h>
class A
{};
int main()
{
void *p = malloc(100);
A* a = new(p) A();
a->~A(); // call destructor explicitly
free(p);
}
new配置を使用する場合は、デストラクタを明示的に呼び出す必要があることに注意してください。