今日のC++

覚えたこと。

  • using namespace std;
    • STLの諸々の関数をグローバル空間にぶちまける。TopCoder的には常套手段。
  • algorithmのなかにminとmaxはあるが、引数は2個限定。min_elementとかでリストの中の最小値の場所を得ることができるのでPythonのmin(xs)に相当するのはxs[min_element(xs.begin(), xs.end())]かな。
  • <?=
  • 参照は右から読む
    • gcc -lstdc++ foo.cpp って書いたら参照が右にないからエラーになった。gcc foo.cpp -lstdc++が正解。もしくはg++ foo.cpp。
  • templateの定義の最後にはセミコロンがいる
  • template<0> struct Numbersって書いて怒られた。
    • template<> struct Numbers<0>が正解。変なの。
    • 最初のが自由度で、後のがどこに何がはまっているか
  • template<int N><int M>
    • expected unqualified-id before '<' token
    • <int N, int M>だな
  • wrong number of template arguments (1, should be 2)

-