Jul 11, 2008

引用和指针的区别

c++ Primer 与 effective C++都有提到这个区别,不过貌似深奥了点(虽然很详细)
以下为多方考证结果:

主要区别:
  一是 初始化问题:引用必须初始化
  二是 赋值操作问题:对引用赋值修改的是与该引用关联的对象
  引用一经初始化就不能修改(引用是const的指针,不许改变指向)。
  三是 不能定义引用类型的引用 但是可以定义指针类型的指针!

其实,很简单的一句话可以搞定:引用是对象的别名,操作他等价于操作原本的对象;而指针是一种变量,其值为对象的地址.

  经典的区分二者的程序:
  #include
  int main()
  {
  int ival=1024,ival2=2048;
  int *pi=&ival;
   int *pi2=&ival2;
   pi=pi2;
   cout<<*pi<<" "<<*pi2<<“ival= ”<  int &ri=ival,&ri2=ival2;
   ri=ri2 cout<   return 0;
  }

No comments:

Powered By Blogger