c++::关于引用

来源:互联网 发布:在线app打包网站源码 编辑:程序博客网 时间:2024/05/16 18:19

首先学习c++的时候,我们肯定会有一个疑问,c++既然继承了c的一些东西,肯定可以使用指针,但是为什么会出现‘引用’。欲知为何,待我细细道来:

C++里为什么会有引用?

答:1)不用担心NULL的问题

  2)c++里要进行运算符重载,使用引用会比指针更好

  3)引用是编译器层的东西,编译完后并不会占用内存,而指针是个数据,是要单独占用内存保存的

【引用】:编译器不会为引用变量开辟内存空间。

1)1.    引用在定义时必须初始化。

      2. 一个变量可以有多个引用。
      3. 引用一旦绑定了一个实体,就不能再改变为其他变量的引用

2)。注意:不要返回栈内存的引用

【引用和指针】:

        a.两者底层实现方式相同

     b引用必须初始化,但是指针正常情况下初始化为NULL

     c.引用一旦定义就不能改变,但是指针可以

     e.sizeof求其大小:

           引用:与所求变量的类型有关

           指针:与所求变量类型无关

     d.自加自减意义不同:

           引用:是数值的加减

           指针:是地址的改变

         f.有多级指针没有多级引用

  再次总结:

 总结:
1
、引用在定义时必须初始化,指针没有要求。
2
、一旦一个引用被初始化为指向一个对象,就不能再指向
其他对象,而指针可以在任何时候指向任何一个同类型对象
3
、没有NULL引用,但有NULL指针。
4
、在sizeof中含义不同:引用结果为引用类型的大小,
但指针始终是地址空间所占字节个数。
5
、引用自加改变变量的内容,指针自加改变了指针指向
6
、有多级指针,但是没有多级引用

0 0