placement new的实现与使用问题

shmiloveyou shmiloveyou 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
More Effective C++中说:
placement new实现是这样的
void * operator new(size_t, void *location)
{
return location;
}


但是在使用时:
class Widget 
{
public:
Widget(int widgetSize);
...
};
Widget * constructWidgetInBuffer(void *buffer,int widgetSize)
{
return new (buffer) Widget(widgetSize);
}

其中new函数的第一参数size为什么可以忽略,而只是用buffer这个参数?这样不会引起函数参数列表不匹配问题么?
请了解“内幕”前辈指点。
...全文

相关推荐

placement new详解

placement new详解

mr_franklin

c语言newC++的new.pdf

c语言newC++的new.pdf

资料大全

C_与C++中的异常处理.pdf

C_与C++中的异常处理.pdf1. 异常和标准C 对它的支持...............................................................................................2 2. Microsoft 对异常处理方法的扩展..............................................................................12 3. 标准C++异常处理的基本语法和语义..........................................................................27 4. 实例剖析EH....................................................................................................................33 5. C++的new 和delete 操作时的异常处理.....................................................................40 6. Microsoft 对于的实现版本中的异常处理........................................................47 7. 部分构造及placement delete....................................................................................53 8. 自动删除,类属new 和delete、placement new 和placement delete ...............59 9. placement new 和placement delete,及处理构造函数抛出的异常....................68 10. 从私有子对象中产生的异常.........................................................................................74 11. 异常规格申明.................................................................................................................83 12. unexpected()的实现上固有的限制.............................................................................89 13. 异常安全.........................................................................................................................94 14. 模板安全.......................................................................................................................100 15. 模板安全(续)...........................................................................................................107 16. 指导方针.......................................................................................................................113 17. C++异常和Visual C++ SEH 的混合使用...................................................................120

a170188197

C与C++中的异常处理

1. 异常和标准 C 对它的支持................................................................................. 2. Microsoft 对异常处理方法的扩展 .................................................................. 3. 标准 C++异常处理的基本语法和语义.............................................................. 4. 实例剖析 EH........................................................................................................ 5. C++的 new 和 delete 操作时的异常处理......................................................... 6. Microsoft 对于<new>的实现版本中的异常处理............................................ 7. 部分构造及 placement delete ........................................................................ 8. 自动删除,类属 new 和 delete、placement new 和 placem ent delete ... 9. placement new 和 pla cement delete,及处理构造函数抛出的异常 ........ 10. 从私有子对象中产生的异常............................................................................. 11. 异常规格申明.....................................................................................................

Jake443403168

c,c++异常处理

c,c++程序设计异常处理,希望可以对大家有用,提高大家对异常的处理能力。

ahu_zbg
评论 9
收藏 已收藏
分享
返回顶部
shmiloveyou
C++ 语言 65,214 成员 250,514 内容