C++中的指针与引用的区别
指针的特点:
- 指针可以为空,但应尽量避免
- 指针指向地址,要得到值,需要进行解引用(*)
引用的特点:
- 引用必须被初始化
- 引用一旦与初始值对象绑定,就不会变化
- 引用初始值必须为一个对象,不能是常数
- 引用必须与被引用的对象类型一致
示例
int main()
{
int a = 10;
int &b = a;
int *c1 = &a;
int *c2 = &b;
cout << "a = " << a << endl; // 输出 10
cout << "b = " << b <<endl; // 输出 10
cout << "&b = " << &b << endl; // 输出一个地址
cout << "*c1 = " << *c1 << endl; // 输出 10
cout << "*c2 = " << *c2 << endl; // 输出 10
b = 20;
cout << a << endl; // 输出20
}