これが私には面白そうなC++コードですが、動作することはわかっています。
構造体が定義されており、プログラムではvoidポインタを使用してメモリを割り当てます。次に、割り当てられたバッファを使用して構造体が作成されます。
ここにいくつかのコードがあります
typedef struct{
char buffer[1024];
} MyStruct
int main()
{
MyStruct* mystruct_ptr = 0;
void* ptr = malloc(sizeof(MyStruct));
// This is the line that I don't understand
mystruct_ptr = new (ptr) MyStruct();
free(ptr);
return 0;
}
コードにはもっと多くのものがありますが、それがその要点です。
私はこのコードをテストしていませんが、私が見ているコードは非常によくテストされており、機能します。しかし、どのように?
ありがとう。
編集:そのメモリリークを修正しました。