c++ new 的几个用法
来源:互联网 发布:windows7乱码修复软件 编辑:程序博客网 时间:2024/04/28 04:39
在 c++ 里 new 有三个用法。1) new xxx, 2) operator new( int size ), 3) placement new.
最常用的是 new xxx 例如 pstr = new string(“xxx”); 这种会调用 string 的构造函数,并需要通过 delete pstr 来析构。
void* w = operator new(100); operator delete(w);
- void* operator new( size_t size ) 这是一个函数和 malloc 一样。需要调用 operator delete( void* ) 作用与 free() 一样来释放内存。
- placement new 语法
char *p = new char[100]; char *q = NULL; new (q) int; delete []p;
placement new 的主要用途就是可以反复使用一块已申请成功的内存空间。这样可以避免申请失败的徒劳,又可以避免使用后的释放。 placement new 还会调用构造函数,但是因为此内存不是你在 new 的时候分配的那么就不应该 delete q 。
注意:它的内存释放应该是 delete []p,而不是 delete q。q 只是使用了了这块内存而已。
0 0
- c++ new 的几个用法
- c++ new 的几个用法
- C++new的用法
- C++new的用法
- C++new的用法
- C++new的用法
- C++new的用法
- C++new的用法
- c++new的用法
- 【转载】C++new的用法
- 在C#new 的用法
- 【转载】C++new的用法
- [C/C++] new的几种用法
- [C/C++] new的几种用法
- C ++ new的几种用法
- C++:new和delete的用法
- 【C++】new用法
- C++new的所不知道的用法
- dhhdhhhhddwfcsefd
- webview 返回、刷新
- Video---如何检测您的浏览器是否支持HTML5视频
- Java设计模式--工厂模式
- ASP.NET MVC学习笔记
- c++ new 的几个用法
- IOS使用正则表达式去掉html中的标签元素,获得纯文本
- 出现错误:无法解析的外部符号
- Android:属性动画详解
- java形式参数和实际参数
- Android应用开发笔记(12):Android应用的自动升级、更新模块的实现
- 栈的类模板及其应用
- 辛星教程网初步建设,目前只有一个首页
- js随记