2014-01-01から1ヶ月間の記事一覧

31項 関数は、ローカルオブジェクトへのリファレンスや関数の中でnewで初期化したポインタの参照先を返してはならない

関数は、ローカルオブジェクトへのリファレンスや関数の中でnewで初期化したポインタの参照先を返してはならない関数内でローカルオブジェクトへのリファレンスを返すと、関数スコープを抜けたときにローカルオブジェクトが破壊され、リファレンスの指したも…

30項 メンバ関数は、自分よりもアクセス制限がきついメンバへの非constポインタや参照を返さないようにしよう

メンバ関数は、自分よりもアクセス制限がきついメンバへの非constポインタや参照を返さないようにしようprotectedやprivateなメンバへのハンドルを返してしまうと、アクセス制限の意味がなくなってしまいます。 データを返すなら値返しで、ハンドルを返すな…

29項 内部データの「ハンドル」を返すのはやめよう

内部データの「ハンドル」を返すのはやめよう内部データのハンドルをそのまま返してしまうと、意図しないデータの書き換えが発生することがあります。 できる限り内部データのハンドルは返さないべきですが、返す必要があるときは、const指定をして返します。

28項 グローバルな名前空間は分割しよう

グローバルな名前空間は分割しよう

27項 暗黙のうちに生成される不要なメンバ関数は、明示的に使用を禁止しよう

暗黙のうちに生成される不要なメンバ関数は、明示的に使用を禁止しよう

26項 潜在的な多義性に対するガードを固めよう

潜在的な多義性に対するガードを固めよう関数をオーバロードしたときや、多重継承をしたときなどには、潜在的な多義性があります。 この問題を完全に防ぐのは不可能なので、注意を怠らないことが重要です。

25項 ポインタと数値型とにオーバロードするのは避けよう

25項 ポインタと数値型とにオーバロードするのは避けよう

24項 関数のオーバロードとデフォルトつきパラメータは、慎重に使い分けよう

関数のオーバロードとデフォルトつきパラメータは、慎重に使い分けよう

23項 オブジェクトを返さなければならないときに、リファレンスを返そうとがんばるのはやめよう

オブジェクトを返さなければならないときに、リファレンスを返そうとがんばるのはやめよう

22項 値渡しよりも、リファレンス渡しを使おう

値渡しよりも、リファレンス渡しを使おう

21項 使えるときは、必ずconstを使おう

"使えるときは、必ずconstを使おう"

20項 データメンバをpublicインタフェースに入れるのはやめよう

"データメンバをpublicインタフェースに入れるのはやめよう"タイトルの通り

19項 メンバ関数、非メンバ関数、friend関数を使い分けよう

"メンバ関数、非メンバ関数、friend関数を使い分けよう"

18項 クラスインターフェイスが完全かつ最小限になるまで頑張ろう

クラスインターフェイスが完全かつ最小限になるまで頑張ろうクライアントが普通やりたいようなことはなんでもできるようにし、完全なインターフェイスを実現します。 インターフェイスが多すぎると複雑で保守しづらいため、最小限のインタフェースを目指しま…