胸围80是多大:C++中运算符New的三种使用方式

来源:百度文库 编辑:九乡新闻网 时间:2024/04/30 17:55:42

这是在林锐的《高质量程序设计指南》中看到的,特此记录下。

1. plain new 普通new

Cpp代码
  1. void*operator new(std::size_t)throw(std::bad_alloc);   
  2. void operator delete( void *) throw();   
  3.   

  该运算符在分配失败时将抛出异常,而非返回NULL。使用时要包含 头文件。正常使用new,但要配以异常处理。如:

Cpp代码
  1. char *getMemory(unsigned long size)   
  2. {    char * p = new char[size];   
  3.       return p; }   
  4. void main(void )   
  5. {    try{   
  6.         char * p = getMemory(1000000);//可能发生异常   
  7.         // ...   
  8.         delete [ ] p;   
  9.         }   
  10.     catch(const std::bad_alloc & ex)   
  11.     {  cout < 
  12. }