Open5
C++用のデバッグコードetc
デバッグ用ライブラリなどは探せばあるだろうけど、せっかくなので学習がてらに自作してみる。
- vectorの中身を出力する (NSArrayのtoStringレベルで十分なのでほしい)
思いつき次第追加
...と思ったけどこれ以外ないのでは...
コンテスト中に欲しくなったのもこれだけだし...
めっちゃシンプルだけどvectorの中身を出力するやつ
template<typename T>
void dbgp_vector(const string& label, vector<T> vec) {
cout << "DEBUG_VECTOR " << label << ": [";
for (int i = 0; i < vec.size(); ++i) {
if (i != 0) cout << ", ";
cout << vec.at(i);
}
cout << "]" << endl;
}
なるほど
toString みたいにしたいときはこうするのが一般?
template<typename T>
std::ostream & operator<<(std::ostream & Str, vector<T> const & vec) {
Str << "[";
for (int i = 0; i < vec.size(); ++i) {
if (i != 0) cout << ", ";
Str << vec.at(i);
}
Str << "]";
return Str;
}
演算子オーバーロードをしておくと vector<vector<...>>
もちゃんと出力してくれるのがうれしい