程序宝典:C++学习感想

来源:enet 作者:中国教育在线 2007-10-10 出处:pcdog.com

.net  
上一页 1 2 3 4 下一页 
在C++ Release 2.0中,为了满足以上需求,内存管理机制做了相应的修改。主要是引进了operator new [] 和 operator delete []。  

  new操作符的作用范围(Scope for operator new Functions)

  操作符(Operator) 范围(Scope)

  ::operator new Global

  class-name::operator new Class   

  operator new的第一个参数必须是类型size_t(在STDDEF.H中定义的类型),返回类型

  为void *。

  当分配内建(built-in)类型的对象、未包含用户自定义的new操作符函数的类对象、任何类型的数组时,使用全局new操作符函数。当在类中自定义new操作符时,分配该类对象的内存时,调用该类的new操作符。如下: 

  #include
  #include
  class Blanks
  {
  public:
  Blanks(){}
  void *operator new( size_t stAllocateBlock, char chInit );
  };
  void *Blanks::operator new( size_t stAllocateBlock, char chInit )
  {
  void *pvTemp = malloc( stAllocateBlock );
  if( pvTemp != 0 )
  memset( pvTemp, chInit, stAllocateBlock );
  return pvTemp;
  }
  int main()
  {
  Blanks *a5 = new( 0xa5 ) Blanks;//创建对象Blanks,并且初试化为0xa5
  return a5 != 0;
  }
更多内容请看PCdog.com--C/C++进阶技术文档专题
上一页 1 2 3 4 下一页 
上一篇:C++箴言:将强制转型减到最少
下一篇:C程序开发初级讲座之分支结构