>>177

1.
リファレンスは初期化時以外に参照先を変更できない。
関数から返ってきたら、引数を渡した時とは別の変数を指していたり、
はたまたNULLが入っているというポインタのような技法が使えない。
リファレンスはポインタを制限強化したものといえる。

2.
リファレンスではオーバーロードできない事がある。
例えば、
 void func1(int a);
 void func2(int& a);
はどちらも同じ呼び出しになるので区別できない。

3.
リファレンスだと再帰的な処理が一貫して同じ形式で呼び出せる。
(a = b = c = d ; とか)