読了:isbn:4894714663:title

Exceptional C++ Style―40のクイズ形式によるプログラム問題と解法=スタイル編 (C++ in‐Depth Series)

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)は使わない(そもそも知らなかったけどね
  • 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サポート

参考