现在的位置: 首页 > 综合 > 正文

关于C++中new和delete的几点说明

2013年04月29日 ⁄ 综合 ⁄ 共 543字 ⁄ 字号 评论关闭

用途:动态分配和撤销内存空间,和C语言中的malloc和free的作用一样,区别在于new和delete的效率更高。


注意:new和delete不是函数,而是C++提供的运算符,和加减乘除运算符一样。


使用:new 类型 [初值],如 new int  [100];

            delete    指针变量    (对变量)

            delete   [ ] 指针变量  (对数组)


执行结果:new  返回一个指针,如未能成功分配内存,则返回NULL;delete删除指针指向的空间。



例子:


#include<iostream>
#include<string>

using namespace std;

struct Student
{
     string name;
     int id;
     char sex;  
};

int main()
{
     Student *p;
     p=new Student;
     
     p->name="Wang Fang";
     p->id=216016;
     p->sex='f';
     
     cout<<p->name<<endl;
     cout<<p->id<<endl;
     cout<<p->sex<<endl;
     
     delete p;
     
     system("pause");
     return 0;
}


抱歉!评论已关闭.