none
引用类型变量可以这样吗? RRS feed

  • 问题

  • 引用类型变量可以更新它的值吗? 不是说引用类型的变量的值是固定的吗? 为什么我看到有些还可以改变它的值?
    法拉利 法拉利 法拉利
    2009年6月28日 1:38

答案

  • 据我所知,引用是可以指向不同的对象的。
    指针和应用的本质区别是指针具有4字节的地址空间(32位系统),而引用并没有实际的地址空间。引用只是一个别名。在C++03中引用必须是左值(L-Value)的。这里的L-Value如果解释成Location value更为清楚,说明引用必须指向一个具有实际地址空间的内容。由此特性在使用多态过程中应尽量使用引用,因为引用在使用之前不需要做非空判断。


    麻烦把正确答案设为解答。
    2009年6月29日 0:50
    版主

全部回复

  • 引用又不是const,当然可以改变它的值了,除非你把它声明成const类型。引用我个人认为就是一个不能为NULL的指针。


    0xBAADF00D
    2009年6月28日 7:30
    版主
  • 引用又不是const,当然可以改变它的值了,除非你把它声明成const类型。引用我个人认为就是一个不能为NULL的指针。


    0xBAADF00D

    不单止不能为NULL而且不能像指针那样可以顺便指向不同的变量 引用只能表示固定的变量 但是可以保存不同的值 是我一时没想起 呵呵
    法拉利 法拉利 法拉利
    2009年6月28日 10:51
  • 据我所知,引用是可以指向不同的对象的。
    指针和应用的本质区别是指针具有4字节的地址空间(32位系统),而引用并没有实际的地址空间。引用只是一个别名。在C++03中引用必须是左值(L-Value)的。这里的L-Value如果解释成Location value更为清楚,说明引用必须指向一个具有实际地址空间的内容。由此特性在使用多态过程中应尽量使用引用,因为引用在使用之前不需要做非空判断。


    麻烦把正确答案设为解答。
    2009年6月29日 0:50
    版主