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

2013-11-20 14:24:33 · 作者: · 浏览: 191

  用途:动态分配和撤销内存空间,和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;

  }