这是一些对我来说看起来很有趣的 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;
}
代码有更多的东西,但这就是它的要点。
我没有测试过这段代码,但我正在查看的代码已经过很好的测试,并且可以正常工作。但是怎么做?
谢谢。
编辑:修复了内存泄漏。