Kouhei Sutou
null+****@clear*****
Thu Oct 4 10:39:01 JST 2012
Kouhei Sutou 2012-03-15 17:51:24 +0900 (Thu, 15 Mar 2012) New Revision: 52db33db18dddefc52a3c8037e2da75b023c18bb https://github.com/mroonga/mroonga/commit/52db33db18dddefc52a3c8037e2da75b023c18bb Log: doc coding-style: add reasons about disabling copy constructor Modified files: doc/source/developer/coding_style.rst Modified: doc/source/developer/coding_style.rst (+5 -1) =================================================================== --- doc/source/developer/coding_style.rst 2012-03-15 17:46:52 +0900 (9004cee) +++ doc/source/developer/coding_style.rst 2012-03-15 17:51:24 +0900 (db8529d) @@ -267,7 +267,11 @@ TODO: ちゃんと考える。 コピーコンストラクター ---------------------- -基本的にコピーコンストラクターの使用を禁止する。 +基本的にコピーコンストラクターの使用を禁止する。よほどのことがなければ使用しないこと。 + +コピーコンストラクターは暗黙的に無駄なコピーが発生する可能性があるためパフォーマンス上の問題がある。コピーではなくポインターやリファレンスを用いること。 + +また、デフォルトのコピーコンストラクター実装はメンバー変数のポインターの値をそのままコピーするため、デコンストラクターで二重に解放してしまう危険性がある。そのため、明示的にコピーコンストラクターを定義しない場合は無効にする。 よい例: -------------- next part -------------- HTML����������������������������...Download