c++中new的三种用法详解 清晰明了 | 您所在的位置:网站首页 › new balance5470 › c++中new的三种用法详解 清晰明了 |
一、概述
new有三种使用方式:plain new,nothrow new和placement new。 (1)plain new就是我们平常使用的普通的new运算符。 void* operator new(std::size_t) throw(std::bad_alloc) void operator delete(void *) throw();提示:plain new在分配失败的情况下,抛出异常std::bad_alloc而不是返回NULL 程序用例: #include "stdafx.h" #include using namespace std; char *CreateMemory(unsigned long size) { char *p=new char[size];//分配失败,不是返回NULL return p; } int main() { try { char *p=CreateMemory(10e11);// 分配失败抛出异常std::bad_alloc //........... if(!p)//不能通过p 是否等于NULL来判断内存分配的失败与否 cout |
CopyRight 2018-2019 实验室设备网 版权所有 |