【发布时间】:2017-03-08 07:14:55
【问题描述】:
new C++ 中的运算符用于在堆内存中创建新对象。我不知道如何在不使用 new 运算符的情况下在堆内存中创建对象。有可能吗,怎么做?
还有人可以建议我在 C++ 中使用 new opeartor 在堆栈中创建对象吗?
【问题讨论】:
-
你为什么需要那个?
-
“还有人可以建议我使用 c++ 中的新操作符在堆栈中创建对象吗?”您不使用
new创建堆栈分配的对象。 -
@πάνταῥεῖ 可以使用placement new。
-
我认为这是一个可以回答的问题,答案相当简短,分为两部分:第一部分使用
malloc并放置新位置,带有关于malloc的适当警告,第二部分是如何分配缓冲区在堆栈中(例如作为固定大小char[])并使用放置新的堆栈空间。 -
C++ 并没有真正定义“堆栈”和“堆”是否也值得吹毛求疵? (标准只使用“自动”、“静态”、“动态”等存储时长)
标签: c++ c++11 memory-management c++14 new-operator