Navigation Menu

Skip to content

Commit

Permalink
doc coding-style: add reasons about disabling copy constructor
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed Mar 15, 2012
1 parent 87f2e41 commit 52db33d
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion doc/source/developer/coding_style.rst
Expand Up @@ -267,7 +267,11 @@ TODO: ちゃんと考える。
コピーコンストラクター
----------------------

基本的にコピーコンストラクターの使用を禁止する。
基本的にコピーコンストラクターの使用を禁止する。よほどのことがなければ使用しないこと。

コピーコンストラクターは暗黙的に無駄なコピーが発生する可能性があるためパフォーマンス上の問題がある。コピーではなくポインターやリファレンスを用いること。

また、デフォルトのコピーコンストラクター実装はメンバー変数のポインターの値をそのままコピーするため、デコンストラクターで二重に解放してしまう危険性がある。そのため、明示的にコピーコンストラクターを定義しない場合は無効にする。

よい例:

Expand Down

0 comments on commit 52db33d

Please sign in to comment.