新的操作返回的变量被分配了地址。
可以将该地址
存储在一个
指针
,
指针
解引用
,
然后可以
访问
变量
。
当我们做了一个动态分配的变量,我们需要明确告诉C++内存释放回。 这是通过 标量 ( 非数组 ) 的删除 算子形式 :
1
2
int *pnValue = new int; // dynamically allocate an integer
*pnValue = 7; // assign 7 to this integer
当我们做了一个动态分配的变量,我们需要明确告诉C++内存释放回。 这是通过 标量 ( 非数组 ) 的删除 算子形式 :
1
2
delete pnValue; // unallocate memory assigned to pnValue
pnValue = 0;
注意,删除操作不会删除该指针-它删除指针所指向的内存!
动态分配数组
动态数组的声明让我们运行程序时选择自己的大小。动态分配数组,我们使用新的和删除数组形式(通常称为新的[ ]和[ ]删除):
1
2
3
4
int nSize = 12;
int *pnArray = new int[nSize]; // note: nSize does not need to be constant!
pnArray[4] = 7;
delete[] pnArray;