Open2
C++の知見メモ
create std::vector larger than max_size() エラー
create std::vector larger than max_size()
これがどこで発生しているのか特定するのが難しかった。
原因は string
型に + 1
などしようとした結果だった。stringは vector<char>
だからってことかな。 char
だと数値として+N分進めてくれるけど、このあたりスクリプト言語を触っていた自分には最初違和感があった。
int num = 1;
cout << "result: " + num <<endl; // error: create std::vector larger than max_size()
こうしよう。
int num = 1;
cout << "result: " << num <<endl;
// cast
cout << "result: " + to_string(num) <<endl;
Apple Silicon Mac では gdb が使えない
現状代わりにLLDBを使うしかなさそう。
ただLLVMでコンパイルしなければならなく、競プロ環境に合わせて g++ を使いたい自分としてはいったんデバッガーの利用は必要になるまで置いておくことにする。