读书笔记MoreEffectiveC++(8)

来源:互联网 发布:山东胜通预算软件 编辑:程序博客网 时间:2024/05/12 16:43
了解各种不同意义的new和delete
1.new 做两件事,第一,分配内存。第二,调用constructor为刚分配的内存设定初值。而operator new 来完成第一步操作,返回一个void*指针,指向一块未被赋初值的内存。类比于malloc
2.placement new 是operator的一个特殊版本,除了size_t自变量外,还接受了一个void*参数指向内存,用来接收构造好的对象。placement new 在已经分好的内存上构建对象。
3.new 和 delete 是内建操作符,无法为你控制。
4.operator delete 类比于free,释放内存。 placement new 不和delete配对使用。delete时 先析构对象,然后 operator delete来回收内存
0 0
原创粉丝点击