std::vectorの効率的な回し方
std::vectorの効率的な回し方
#include <iostream> #include <vector> using namespace std; int main(){ vector<int> v; v.push_back(10); v.push_back(20); // vectorの範囲チェックを一回で終わらせておく // そして、生成破棄の早い自動変数かつ、初期化時に代入で無駄を省く size_t size = v.size(); // 範囲チェックを行わない[]でアクセスする // size_tを使っているのは、 // std::vectorのsizeメソッドの返り値がsize_t(unsigned int)だから for(size_t i=0; i < size; i++) { cout << v[i] << endl; } return 0; }
数が大きくなってくると、イテレータアクセスに比べて数分の一の時間でループを回すことができる。
高速化の為のTipsメモ。