指针与引用的区别

string& rs; // 错误,引用必须被初始化
string s("xyzzy");
string& rs = s; // 正确,rs指向 s
指针没有这样的限制。
string *ps; // 未初始化的指针
// 合法但危险

指针与引用的另一个重要的不同是指针可以被重新赋值以指向另一个不同的对象。 但是引用则总是指向在初始化时被指定的对象,以后不能改变。

string s1("Nancy");  

string s2("Clancy");
string& rs = s1; // rs 引用 s1
string *ps = &s1; // ps 指向 s1
rs = s2; // rs 仍旧引用 s1, // 但是 s1 的值现在是 // "Clancy"
ps = &s2; // ps 现在指向 s2; // s1 没有改变

 

 

你可能感兴趣的:(区别)