從C看C++之(二)獲取和釋放內存

 源碼:

#include <iostream>
#include <string.h>

#define BUFSZ   1024

int main(void)
{

        const char *q = "I am sorry!";
        char *pTmp = NULL;

        pTmp = new char[BUFSZ];

        memcpy(pTmp,q,strlen(q));

        std::cout << pTmp << std::endl;

        delete pTmp;

        pTmp = NULL;

        return 0;
}
 運行:

root@se7en-LIFEBOOK-LH531:~/learn/Cpp_Program# g++ memCtrl.cpp -o memTest
root@se7en-LIFEBOOK-LH531:~/learn/Cpp_Program# ./memTest 
I am sorry!
root@se7en-LIFEBOOK-LH531:~/learn/Cpp_Program# 

 在這裏new和delete是運行符,其性質和C中的sizeof()等同.


 當new動態生成對象數組時,調用delete釋放的時候,需要加上"[]".如下:

pa1=new  A[3];
..... 
delete  [ ]pa1;





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章