最近、ゴロゴロしていたらブログを全く更新していなかった。最近、読んだものの中で一番面白かったものと言えば、Google C++スタイルガイドかと思う。C++に必要なエッセンスがまとめられており、その項目一つ一つにきちんとした理由がある。
特に、気になったものを挙げてみると、
- 構造体 vs. クラス
structはデータを運ぶだけの受け身のオブジェクトに対してのみ使用してください。他は全部classです。
- 演算子オーバーロード
まれで特別な状況を除いて演算子をオーバーロードしてはいけません。
- アクセス管理
全てのデータメンバはprivateにし、必要ならアクセサ関数を定義してください。一般に変数名が foo_ ならアクセサ関数は foo()です。値を変更するための関数(mutator)であるset_foo()は許可されます。
とかは、Effective C++で話題になったネタだし、
とかは、コンパクトに重要なことがまとめられているので一読の価値がある。最近、ほとんどC++書いてないけど、そろそろ書く機会がありそうなので、リハビリがてらきちんと目を通しておきたいと思った。