使用 placement new 语法,我应该能够做这样的事情:
char *buffer = new char[sizeof(MyClass)]; //pre-allocated buffer
MyClass *my_class = new (buffer) MyClass; //put da class there
现在假设我只做第一行,而不做第二行。有没有一种方法可以在代码中确定是否已正确分配缓冲区,但那里尚未实例化 MyClass 类型的对象?
最佳答案
该语言没有提供任何内置机制来提供该信息,至少我所知道的没有。您必须添加自己的簿记代码来跟踪此类信息。
关于c++ - 如何使用 placement new 确定对象是否已放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320468/