は、なぜそれが「デフォルトのコピーコンストラクタ」を提供するコンパイラを使用するのではなく、コピーコンストラクタの実装を提供することをお勧めしますか?
答えて
クラスにポインタメンバーが含まれている場合は、のが動的に割り当てられます。デフォルトのバージョンでは浅いコピーが作成されるため、独自のバージョンのコピーコンストラクタを用意する必要があります。
このルールは広すぎるものであり、私が実装したポインタを持つクラスでは一般的に偽です。私がポインタを使用する唯一の理由は、所有していない再割り当て可能な参照と同じです。そしてその場合、コンパイラーはコピーコンストラクターを生成しました。 –
@ベンジャミン・リンドリー:理解を深めるのに役立つことを願っています。 –
そうではありません。
デフォルトのコピーコンストラクタは、99.9%のケースで完璧です。
所有ポインタを持つクラスの例外。ここでは、デフォルトのコピーコンストラクタの浅いコピーが、初心者のために期待通りに機能しません。
しかし、クラスにポインタを置いてはいけないので、問題にはなりません。これをクリアするためには、所有ポインタはスマートポインタ(またはコンテナタイプ)オブジェクトに含める必要があります。だからそれは問題ではない。
オブジェクトのようなスマートなポインタやコンテナを書く場合は、3つのルールを実装する必要があります。
- 1. リンククリックトラッカー - その他の問題
- 2. ViewPagerのその他の問題の例
- 3. WindowsのVSFTPDとその他の問題
- 4. 問題:その項目はNSDictionaryの
- 5. VisualC++関数の問題点(その他)
- 6. その他の問題オープンウィンドウWPF
- 7. それぞれjqueryの問題
- 8. _MINIPROFILER UPDATED Layout.cshtmlかみそりの問題
- 9. グレースg:それぞれの問題
- 10. UITabBarItemとそのUIViewController - 複雑な問題
- 11. 私のiPadアプリのメモリリークやその他の問題?
- 12. belongsToの問題は、私は、CakePHPのnoobのでその
- 13. MarkLogicその他のフランス語の文字の問題
- 14. のDataGridView /数学の問題....そのコードで
- 15. その他の多次元配列の問題
- 16. 名前とその他の問題のないGitサブモジュール
- 17. その他のHTML/CSS [分]高さの問題
- 18. 最も奇妙なAndroidのバグ - おそらくProGuardの問題?
- 19. 検索インデックスに関するその他の問題? (Haystack/Whoosh)
- 20. UDPに関するその他の問題
- 21. JavaScriptの構文の問題 - それを見つける
- 22. NSProgressIndicatorの問題 - おそらくNSViewのサブクラスですか?
- 23. セパレータパディング、私はこの区切りの問題は、それ
- 24. Javaの問題の時間制限は、問題をコーディング問題
- 25. テクスチャスケーリングの問題へのレンダリングの問題(?)
- 26. getJsonの問題は、それが未定義
- 27. PHP、そこでここでは有数の0問題
- 28. ドロップダウンメニューとその機能に関する問題
- 29. 小さなドラッグドロップの問題(おそらく本当にシンプル)
- 30. 問題フィルタリングhrefのリンクからハッシュし、それを選択
http://stackoverflow.com/questions/4172722/what-is-the-rule-of-three – Mahesh