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メモ。