指针和引用:
这是一个很基础的问题;这里就不多说了。
但要记住:1)当你知道你需要指向某个东西,而且绝不会改变指向其他东西,或是当你实现一个操作符而其语法需求无法由pointers达成,你就应该选择reference。任何其他时候,请采用pointers。
2)reference不允许变量为null,所以pointers和reference的另一个重要差异:pointers可以被重新赋值,指向另一个对象,reference却总是指向他最初获得的那个对象。
#include <iostream>
using namespace std;
void main()
{
string s1("Nancy");
string s2("Clancy");
string & rs=s1;
string *ps=&s1;
rs=s2;//把s1变成"Clancy"
ps=&s2;//ps指向s2;s1没有变化
}