源碼:
#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;