C++学习笔记(动态内存)

C++学习笔记(动态内存)

很多时候,您无法提前预知需要多少内存来存储某个定义变量中的特定信息,所需内存的大小需要在运行时才能确定。

double* pvalue  = NULL; // 初始化为 null 的指针
pvalue  = new double;   // 为变量请求内存
delete pvalue;        // 释放 pvalue 所指向的内存

如果自由存储区已被用完,可能无法成功分配内存。所以建议检查 new 运算符是否返回 NULL 指针,并采取以下适当的操作:(巨坑啊 让我联想到Java中NullPoint)

double* pvalue  = NULL;
if( !(pvalue  = new double ))
{
    cout << "Error: out of memory." <

数组的动态内存分配:

char* pvalue  = NULL;   // 初始化为 null 的指针
pvalue  = new char[20]; // 为变量请求内存
delete [] pvalue;        // 删除 pvalue 所指向的数组

对象的动态内存分配:

#include 
using namespace std;
 
class Box
{
   public:
      Box() { 
         cout << "调用构造函数!" <

learn and copy from:

http://www.runoob.com/cplusplus/cpp-dynamic-memory.html

你可能感兴趣的:(C++学习笔记(动态内存))