- 398 名前:361 [04/09/15 12:58:23]
- ヒープに確保したインスタンスを参照にすると削除するときに&演算子で
ポインタに戻してやらないといけないのと、スマートポインタをつかう ことも多いので、参照をつかっているところとスマートポインタを つかっているところで表記がまちまちになって好きじゃない。 一貫性のある表記が好きという個人的な好みの問題。でも本当に わざわざヒープに確保したインスタンスを参照にする人って いるの? ポリモーフィズムは別にスタックに確保したオブジェクトでも できるけど、スタックに確保しちゃうとインスタンスの寿命の 管理の自由度が下がる。それにスタックに確保しちゃうと Factoryメソッドのようなメソッド内部で生成したインスタンス をメソッドの外部に提供するときにコピーコンストラクタが 必要になるのでそういうときに困る。例えばオブジェクトが ビットマップのような巨大なデータをもつ場合、コピーコン ストラクトのコストは大きいし、コピーコンストラクタを 書くのが難しいオブジェクトもある。なので必要のない コピーコンストラクタはprivateにして使用禁止にして つかわないようにしている。巨大なデータを持つオブジェクトは 前にもいった人がいるようにHandle-Bodyなんかでもいい (実際にHandle-Bodyをつかっていたり、文字列クラスなんかは CopyOnWriteをつかっている実装も多い)が、自分はHandle-Bodyを つかうスタイルではない。これもスタイルの問題。
|

|