0

是否存在需要在内存中创建对象到某个地址的情况?哪里有必要(示例)?

谢谢你。

4

3 回答 3

0

您似乎在问在 C++ 应用程序中是否有必要在特定地址构造对象。

通常,不会。但也有例外,C++ 语言确实支持它。

一个这样的例外是在为小对象构建一种缓存系统以避免频繁的小分配时。首先会构造一个大缓冲区,然后当客户端代码要构造一个新的小对象时,缓存系统会在这个大缓冲区内构造它。

于 2013-10-04T12:51:21.497 回答
0

看看placement new:“placement new有什么用?

很好的例子是编写自己的内存分配器、垃圾收集器,或者由于缓存性能而尝试精确布局内存。

这是一个小众的东西,但有时非常有用。

于 2013-10-04T12:51:43.857 回答
0

在 C++ 中,当实现池分配器时,可能需要在特定的给定地址构造一个对象。例如 Boost Pool: http: //www.boost.org/doc/libs/1_47_0/libs/pool/doc/index.html

于 2013-10-04T12:51:59.833 回答