4

ポインターよりも参照が好まれることは知っていますが、これらすべての「。」を変更するのは非常に面倒です。必要に応じて "->" に変更します。では、必要に応じてスマート ポインターに簡単に変換できるように、常に参照の代わりにポインターを使用することは許容されるのでしょうか? または、ポインターへの参照をすばやく変更する方法はありますか?

4

4 に答える 4

15

したがって、参照の代わりに常にポインターを使用し、必要に応じてスマートポインターに簡単に変換することは許容される慣行ですか?

いいえ、一般的に、ルールは常に悪いものです(これを含む)。参照をスマート ポインターに変換する必要があるのはなぜですか。参照であれば、メモリ管理について心配する必要はありません。それがスマート ポインターの目的です。

または、ポインターへの参照をすばやく変更する方法はありますか?

はい、アドレスを取得します ( &)。

于 2012-05-11T13:54:48.420 に答える
1

ソースコードのテキスト置換を容易にするためだけにアーキテクチャを変更しますか?

いいえ、これは有効な設計上の決定ではありません。Luchian が説明したように、これはそもそも実際に存在する考慮事項のようには見えません。

于 2012-05-11T13:54:24.580 に答える
0

参照の代わりにポインターを使用しても、後でスマート ポインターに簡単に変換することはできません。すべてのポインターをスマート ポインターに置き換えるだけで、すべてが機能することを期待することはできません。スマート ポインターのセマンティクスは、ポインターのセマンティクスとは大きく異なります (通常、必要なものではありません)。

値セマンティクスを持つクラスで参照の代わりにポインターを使用することは理にかなっています。参照を使用して期待される代入セマンティクスを実装することは、不可能ではないにしても難しいからです。スマートポインターはそれとは何の関係もありません。

于 2012-05-11T14:18:31.740 に答える
-1

参照を使用するポイントは、参照を通常の非ポインター変数のように使用できるため、少し簡単にすることです。

しかし、それが簡単でない場合、またはさらに難しい場合、それらを使用する理由はまったくありません。

ポインターを使用しても問題はありません。

于 2012-05-11T13:54:23.410 に答える