Exceptional C++ Style―40のクイズ形式によるプログラム問題と解法=スタイル編 (C++ in‐Depth Series)
- 作者: ハーブサッター,浜田光之,Herb Sutter,浜田真理
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2006/09
- メディア: 単行本
- 購入: 3人 クリック: 27回
- この商品を含むブログ (28件) を見る
しらなかったこと
- newについていろいろ
- クラス専用のnewを提供するときは、クラス専用のプレーンなnewも必ず提供しよう
- オーバーロードによって隠蔽されてしまうため
- newは必ずstd::bad_allocを投げるようにする
- bad_allocを投げるか、new(nothrow)ならnullを返すかどちらか
- newの失敗を確認することはあまり意味がない
- プログラム自体がダメになるから
- new(nothrow)は使わない(そもそも知らなかったけどね
- クラス専用のnewを提供するときは、クラス専用のプレーンなnewも必ず提供しよう
- bit配列によるデータの効率化
- なるべくSTLを使おう
- '03のC++標準で追加された新しい予約語
- and, and_eq, bitand, bitor, compl not, not_eq, or, or_eq, xor, xor_eq
- "浮動小数点数の数学は難しく、深遠で、自明とは程遠い。私の考えでは、この世の中には3種類の人間が存在する。浮動小数点数の数学に対して、自分が理解していないことを知っている人(彼らは正しい)、自分は理解していると思い込んでいる人(彼らは間違っている)、および、いつか完全に理解できる日が来るのだろうか、と思いを馳せる一握りの真の専門家(彼らは賢い)だ。"
- C++標準では、int main()またはint main(int, char*[])のいずれかを使用すべし
- constを正しく使おう
- 意味のたる適切な名前をつけよう
- オーバーエンジニアリング:
「このトースターのLEDディスプレイルーチンが、いつの日か惑星間宇宙船のブースター遮断制御の使われるかも」的妄想
-
- これと、不十分な汎用性とのバランスをとること
- こんな書き方もできる:void operator()() const{ (object.*F)(); }
- operator()()って何よ?! →どうもこんな感じっぽいが…?
- _で始まる変数名、または__が含まれる変数名は使用しないこと
- コンパイラとかで予約されている
- Webサポート
参考