c++ 引用 指针。

為{幸葍}努か 提交于 2020-03-16 12:18:12

 

一、什么是引用(reference) ?已经存在的对象的另外一个名字。

  引用有什么不同的?

    1.引用在定义时,以&开头。

    2.引用不是对象,只能绑定在对象上。所以必须在初始化的时候,指定引用绑定的对象。而且引用绑定是不可以改变的。

      int val = 0;

      int &refVal = val; // 不允许 int &refVal; 这样初始化

    3.就像使用变量名一样,对引用赋值,实际上是给该引用绑定的对象赋值,获取引用的值,也同样是获取与该引用绑定的对象的值。

      int &refVal2 = refVal ;// refVal2绑定到了val上面。

      int copyVal = refVal; // 初始化copeVal为val的值。

 

二、什么是指针(pointer)? 存放着某个对象所在地址的对象

  和引用的区别是,指针可以被更改。不必须初始化,尽管一般会初始化。

  1.指针在定义时,以*开头。赋值时需要使用取地址符(&)来得到某个对象的地址。在C++中,相同的符号,在不同的情况使用,意义不同,就像不同的符号。

    int val = 0;

    int *p = &val; //p存放val的地址, 即 p是指向val的指针。指针类型一般必须和指向的对象类型完全一致。

  2.如何通过指针来得到指针指向的对象的值,以及改变该对象的值?如何获取指针中的地址?

    可以用解引用符(*)获取指针指向的对象的值,给解引用的指针赋值,就是给被指针指向的变量赋值。

    直接获取指针的值,就是获取指针存放的地址。

    

     

 

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!