Navigation Menu

Skip to content

Commit

Permalink
doc coding-style: add reasons about disabling assignment
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed Mar 15, 2012
1 parent 52db33d commit 96ac122
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion doc/source/developer/coding_style.rst
Expand Up @@ -301,7 +301,11 @@ TODO: ちゃんと考える。
クラスの代入
------------

基本的に定義したクラスの代入を禁止する。
基本的に定義したクラスの代入を禁止する。よほどのことがなければ使用しないこと。

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

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

よい例:

Expand Down

0 comments on commit 96ac122

Please sign in to comment.