首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我怎样才能明智地重载放置操作符new?

我怎样才能明智地重载放置操作符new?
EN

Stack Overflow用户
提问于 2010-09-09 16:47:46
回答 9查看 12.7K关注 0票数 22

C++允许重载operator new -全局的和每个类的-通常的operator newoperator new[]分别与new[]语句和放置operator new一起使用。

这三种方法中的前两种通常会因为使用自定义分配器和添加跟踪而超载。但是placement operator new看起来非常简单--它实际上不做任何内部的事情。例如,在Visual C++中,默认实现只返回传递给调用的地址:

代码语言:javascript
运行
复制
//from new.h
inline void* operator new( size_t, void* where )
{
   return where;
}

它还能做什么呢?为什么以及如何明智地重载放置operator new

EN

Stack Overflow用户

发布于 2015-03-04 15:29:14

为预保留区域定义自己的内存管理是一个很好的用途。

对同一物理数据有不同的视图(不需要移动数据)是其他有趣的用途。它还允许您将结构化文件读取为缓冲区上的字符,然后通过在缓冲区上定义该类的对象来叠加它们的逻辑结构。将其与文件的内存映射相结合,可以大大提高性能。内存映射硬件...所以,成千上万的应用程序!

票数 1
EN
查看全部 9 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3675059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档