C++基础知识(3)---new 和 delete

 学过c语言的人都知道,c语言中动态分配内存空间使用的是库函数malloc,calloc,realloc以及free。而c++中所使用的是关键字new和delete。如

  动态分配 new  ,  撤销内存  delete  

1 new int;   //开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针)
2 
3 new int(100);   //开辟一个人存放整数的空间,并指定初值为100,返回一个指向该存储空间的地址
4 
5 new char[10];   //包括10个元素的空间,返回首元素的地址
6 
7 float *p = new float(3.14159);  //开辟一个存放单精度数的空间,并指定该实数的值为3.14159,返回该空间的地址赋值给指针变量 p

  如果由于内存不足等原因而无法正常分配空间,则new会返回一个空指针NULL。

  上诉第4个,要撤销用new分配的空间,则

1 delete p;

   delete 运算符使用的一般格式:

     delete [] 指针变量 

  

 需要注意的是,不要将c语言中的内存分配函数和c++中的new和delete混用,这样将会造成不可预知的后果。

 

posted @ 2016-12-15 17:18  wyu123  阅读(237)  评论(0编辑  收藏  举报