C++引用和指针

引用和指针的差别

引用总是指向某个对象,定义引用时没有初始化是错误的

赋值行为差异,给引用赋值修改的是该引用所关联对象的值,而不是使引用与另一个对象关联

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int ival = 1024, ival2= 2048;
 6     int *pi=&ival, *pi2 = &ival2;
 7     cout<<"--before
ival = "<<ival<<"  ival2 ="<<ival2<<endl;
 8     cout<<"pi = "<<*pi<<"  pi2 = "<<*pi2<<endl;
 9     //指针赋值
10     pi=pi2;
11     cout<<"--after
ival = "<<ival<<"  ival2 ="<<ival2<<endl;
12     cout<<"pi = "<<*pi<<"  pi2 = "<<*pi2<<endl;
13     int &ri = ival,&ri2= ival2;
14     cout<<"--before
ival = "<<ival<<"  ival2 ="<<ival2<<endl;
15     cout<<"ri = "<<ri<<"  ri2 = "<<ri2<<endl;
16     //指针赋值
17     ri=ri2;
18     cout<<"--after
ival = "<<ival<<"  ival2 ="<<ival2<<endl;
19     cout<<"ri = "<<ri<<"  ri2 = "<<ri2<<endl;
20     cin.get();
21     return 0;
22 }         

原文地址:https://www.cnblogs.com/brock-1993/p/4249663.html