C/C++

#line ディレクティブ

ソースコードのファイル名と行数を変える命令。 #line 100 "hoge.cpp" #error ここは何行目? とでビルドすると、以下のようなエラーメッセージが出ます。 hoge.cpp:100:2: #error ここは何行目?となります。あんまり使う機会はなさそうですが、編集したフ…

#error, #warning ディレクティブ

#error ディレクティブ 強制的にコンパイルエラーを出し、コンパイルを中止する大量のファイルをビルドしてるときに、あるファイルを編集しときに、ちゃんとビルド対象になっているか、確認するときなどに使えます。 void func() { #error ちゃんとビルド対…

複合代入演算子

C/C++で、算術演算と代入を一度に行う複合代入演算子。 この辺のはおなじみ。 += -= *= /= %= >>= こんな感じでよく使いますね。 int sum(vector <int> array) { int sum = 0; for (int i=0;i<array.size();i++) { sum += array[i]; } return sum; } 実は三項演算子でも使えます。 int max(vector <int> array) { int max = 0; for (int i=0;i<array.size();i++ ){ max = max > a[i] ? max…</array.size();i++></array.size();i++)></int>

intをstringに変換

intで渡された10進数の値をstringに変換するにはsprintfを使う方法とstringstreamを使う方法があります。 sprintfを使う方法 C、組み込みC++の場合はsprintfを使って以下のように書けます。呼び出し側でバッファを確保してもらう必要があります。 void IntTo…