2015年1月28日 星期三

C++ Pointer 指標介紹 (2)


Pointer 有一個很大的用處,就是動態記憶體配置(Dynamic Memory Allocation)。

c++ provide了兩個有關Dynamic Memory Allocation的operator :
1. new : 申請配置記憶體,自己控制記憶體大小。
2. delete : release所配置了的記憶體空間。


new 語法:

(data type) *(pointer variable) = new (data type) [size];

e.g.

int *ip = new int [4];  // pointer ip 將會使用 16bytes , 因為int type 是佔 4bytes, 4*size = 16 bytes
float *fp = new float [4];

or

int *ip = new int;
float *fp = new float;

註:不一定需要size的指定,如果沒有指定,compiler會以size=1為依據。




delete 語法:

delete (pointer variable)

e.g.

int b = 10;
int *a = &b;

delete a;  // 將會release a 指向b的記憶體空間

宣告後的記憶體,如果程式不會再用到,就可以使用delete來release記憶體空間,
防止程序執行期間有記憶體空間不足的情況發生。






沒有留言:

張貼留言