今日覚えたこと

簡潔な言葉で箇条書きにすることは自分の理解を整理するのにも役立つ気がした。

  • STLの解説とかで (*it).first とか書いてあるのはあくまで説明用であって普通は it->first と書く。
  • 自作ライブラリとかで渡された参照を変更しないような関数を作ったらconstで受け取るように宣言しておくべき。他の関数でconstで受け取ったものが渡せない。
    • もちろんTopCoderのようなシチュエーションでは「面倒だから自分の定義する関数すべてにconstをつけない」というスタイルで書いても実害は起きないが、書けばコンパイラにチェックしてもらえるのに権利を放棄してしまっていることを自覚すべき。
  • boostのlexical_castはTopCoderをやるならぜひ覚えておくべき。lexical_cast(s)とかで文字列を整数に変換できる。
  • 「要素が2個のvectorを返せ」なんて出題のときにはboost::assignが便利
    • use namespace boost::asignが必要
    • result += 1, 2 とかができる。