は、なぜそれが「デフォルトのコピーコンストラクタ」を提供するコンパイラを使用するのではなく、コピーコンストラクタの実装を提供することをお勧めしますか?
答えて
クラスにポインタメンバーが含まれている場合は、のが動的に割り当てられます。デフォルトのバージョンでは浅いコピーが作成されるため、独自のバージョンのコピーコンストラクタを用意する必要があります。
このルールは広すぎるものであり、私が実装したポインタを持つクラスでは一般的に偽です。私がポインタを使用する唯一の理由は、所有していない再割り当て可能な参照と同じです。そしてその場合、コンパイラーはコピーコンストラクターを生成しました。 –
@ベンジャミン・リンドリー:理解を深めるのに役立つことを願っています。 –
そうではありません。
デフォルトのコピーコンストラクタは、99.9%のケースで完璧です。
所有ポインタを持つクラスの例外。ここでは、デフォルトのコピーコンストラクタの浅いコピーが、初心者のために期待通りに機能しません。
しかし、クラスにポインタを置いてはいけないので、問題にはなりません。これをクリアするためには、所有ポインタはスマートポインタ(またはコンテナタイプ)オブジェクトに含める必要があります。だからそれは問題ではない。
オブジェクトのようなスマートなポインタやコンテナを書く場合は、3つのルールを実装する必要があります。
- 1. 問題 - それは
- 2. リンククリックトラッカー - その他の問題
- 3. ViewPagerのその他の問題の例
- 4. WindowsのVSFTPDとその他の問題
- 5. 問題:その項目はNSDictionaryの
- 6. その他の問題オープンウィンドウWPF
- 7. VisualC++関数の問題点(その他)
- 8. それぞれjqueryの問題
- 9. グレースg:それぞれの問題
- 10. UITabBarItemとそのUIViewController - 複雑な問題
- 11. _MINIPROFILER UPDATED Layout.cshtmlかみそりの問題
- 12. ユニットテストAngularJs:その後 - キャッチテスト問題
- 13. C3881、それはグラムで何の問題++
- 14. それはデータマイニング回帰問題に
- 15. Javaの問題の時間制限は、問題をコーディング問題
- 16. 私のiPadアプリのメモリリークやその他の問題?
- 17. Wordpressのウィジェットdev - 未定義のインデックスやその他の問題
- 18. MarkLogicその他のフランス語の文字の問題
- 19. belongsToの問題は、私は、CakePHPのnoobのでその
- 20. その他のHTML/CSS [分]高さの問題
- 21. このjqueryのそれぞれの問題は何ですか?
- 22. アスタリスク(Elastix 4.0.0)その他の宛先コールハングアップの問題
- 23. その他の多次元配列の問題
- 24. DASKとそのfrom_pandas関数のRAMの問題
- 25. cmd、Power Shell、またはその両方のエンコーディングの問題
- 26. のDataGridView /数学の問題....そのコードで
- 27. なぜIntelliJの中SBTのトラブルそのスパーク問題が
- 28. jQueryのライブラリ、noConflictやその他のファイルに問題(webflow.js)
- 29. AOTコンパイル - forRootとその他のfunc呼び出しの問題
- 30. 名前とその他の問題のないGitサブモジュール
http://stackoverflow.com/questions/4172722/what-is-the-rule-of-three – Mahesh