引用与 const 指针 的区别何在呢?实在找不到二者的区别呀?
-----------------------------------------
我越来越认为,引用与 const指针 是一样的,尽管名称不同,但是在底层实现上,是不是真的一样呀。
对于传参来说,const指针不能修改指向,这一点与引用相同,函数调用时,同样是将原始数据的地址传过来(好同样是对“地址”这个值进行的值传递)。
所以我找不到二者的本质区别,请大家指教

解决方案 »

  1.   

    个人认为引用是C++针对方便指针使用而设计的类型,在内部实现没有本质区别,并且const修饰是对C++编译器有效的,检查编码过程中对不该改变的数据做了改变操作而已。
      

  2.   

    提醒LZ:引用也有 const 与非 const 的区别!
      

  3.   

    你理解错了:有两种const
    1:
    int * const *ps;
    2:
    const int *ps;这两种完全不同,而我指的是第一种,就是指这个指针的指向是不能修改的,但是它所指向的数据可以修改。
    我找不到引用与const指针的区别
      

  4.   

    某牛人说过,指针符号*放在const左边和右边是不同的,左右都有*的也不同。
      

  5.   

    没有不同吧,只是c++把这种特性封装了一下让程序员用起来更方便罢了。
    其实c++有很多思想和特性都能用c来实现的,只不过麻烦的多而已。
      

  6.   

    如果硬是要说有什么不一样,就只是“引用”是对象的别名,const指针是对象的指针。调用的时候方式会不一样。
      

  7.   


    void func(int& i);
    func(*(int*)NULL);