深入new_0delete:New的3种形态计算机等级考试

文章作者 100test 发表时间 2010:01:01 12:57:18
来源 100Test.Com百考试题网


  New 的 3 种形态: new operator 、 operator new 、 placement new
  new 操作符 (new 表达式 , new operator , new expression): 通常我们调用 X * pX = new X 时使用的就是这个操作符 , 它由语言内建 , 不能重载 , 不能改变其行为 . 它包括分配内存的 operator new 和调用构造函数的 placement new 。 new 关键字实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创建的是简单类型的变量,那么第二步会被省略。
  operator new : operator new 是一个函数 , void * operator new(size_t size) 。它分配指定大小的内存 , 可以被重载 , 可以添加额外的参数 , 但第一个参数必须为 size_t 。 operator new 除了被 new operator 调用外也可以直接被调用 : void * rawMem = operator new(sizeof(X)) 。这种用法和调用 malloc 一样。
  placement new : placement new 在一块指定的内存上调用构造函数 , 包含头文件

相关文章


全国计算机等级考试二级C 语言程序设计标准预测试卷汇总计算机等级考试
计算机二级C 基础:CArray详解计算机等级考试
C 基础:C 的名字查找计算机等级考试
#pragmapack与sizeof计算机等级考试
深入new_0delete:New的3种形态计算机等级考试
C 内存分配的五种方法的区别计算机等级考试
C 中回调(CallBack)的使用方法计算机等级考试
map和set的排序计算机等级考试
赋值运算符复制构造函数(拷贝构造函数)易混处总结计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛