码迷,mamicode.com
首页 > 编程语言 > 详细

c++ 引用和指针

时间:2015-04-12 20:45:57      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

1.引用

   程序把引用和它的初始值绑定在一起,而不是将初始值拷贝给引用。一旦初始化完成,引用将和它的初始值对象一直绑定在一起。因为无法令引用重新绑定到另外一个对象,因此引用必须初始化。

  int ival=2;

 int &refval=ival;

 ival=8; //此时 refval=8;

  int i=refval   //i的值为8

 

  int &refval; //报错:引用必须初始化

  int &refval=10;//报错:引用类型的初始值必须是一个对象

  double dval=9;

 int &refval2=dval;//报错:引用类型的初始值必须是一致,是int.

2.指针

   指针本身就是一个对象,允许对指针赋值和拷贝,而且指针的生命周期内它可以先后指向几个不同的对象

   指针无需在定义时赋初值。和其他内置类型一样,在块作用域内定义的指针如果没有初始化,也将拥有一个不确定的值。

    int ival=9;

    int *p=&ival;

   

   double dval;

  double *pd=&dval; //正确:初始值是double型对象的地址

  double *pd2=pd;    //正确:初始值是指向double对象的指针

  指针值:

  1.指向一个对象。

  2.指向紧邻对象所占空间的下一个位置。

  3.空指针,意味着指针没有指向任何对象。

  4.无效指针,也就是上述情况之外的其他值。

 

  指针访问对象

  int ival=9;

  int * p=&ival;//p存放着变量ival的地址,或者说p是指向变量ival的指针。

 cout<<*p   //由符号*得到指针p所指向的对象,输出42.

 

int *p1=nullptr;  //等价于int *p1=0;

int *p2=0;//直接将p2初始化为字面常量0

 

 

   

c++ 引用和指针

标签:

原文地址:http://www.cnblogs.com/ike_li/p/4420411.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!