C++ 1

1 new 建立一个堆对象

new 类名(初值列表) 返回一个指针

int * p=new int(3)动态分配

2 delete  释放指针

 delete p;

  delete [] p ;释放动态申请的数组

 

3 new delete和 malloc free

malloc free属于c、c++标准库函数 new delete属于操作符

malloc free只针对内部数据类型的对象;new delete 动态创建的对象

 4 const 常量附值时必须初始化

5  引用和指针

  int a; int& p; int* q; a=p; q=&a;

  p是引用,q是地址

  指针在没用给地址之前,不能直接附值

6 函数参数传递

  值传递 地址传递 引用传递

  值传递 地址传递 只是传递一个副本,所以传递应该是指针的指针

  引用传递是传递本身

 7 局部数组 和全局数组

  char * stra()

 {  char *c=new char(10);return c;  }  // 局部变量存的是一个*c,即4B字节的指针,它指向的内容存储在全局存储区内,返回当前指针,可以操作其指向的内容

  char * stra()

 {  char c[]=new char(10);return c;  } // 局部变量存的是 一个数组 占10个字节,返回指针后,存储内容可能被回收,返回指针没有意义

8 指针和句柄

指针是标记某个物理地址

句柄则是标记系统资源,隐藏系统信息。句柄地址(32位整数)——》对象在内存中的地址(不稳定)——》实际对象

posted @ 2013-08-05 17:46  youhumian  阅读(189)  评论(0编辑  收藏  举报