STL

  • STLとは
  • 色々あるけれど、いくつかの大事な塊がある
  • (1) Iterator
    • 地道にベクトルの要素アドレスを指定して回すこともできるが…
double sumC(NumericVector x) {
  int n = x.size();
  double total = 0;
  for(int i = 0; i < n; ++i) {
    total += x[i];
  }
  return total;
}
    • Iteratorを使って、「ここからここまで全部やる」と書くことができる
      • メリットは、少し速い、データ型とか気にせず使える、頻用するから、バカにならない
double sum3(NumericVector x) {
  double total = 0;
  
  NumericVector::iterator it;
  for(it = x.begin(); it != x.end(); ++it) {
    total += *it;
  }
  return total;
}
  • (2)アルゴリズム
  • (3)データ構造
    • ベクトル・行列・アレイ、集合、連想配列(ハッシュ)について、その格納パターン、アクセスパターンごとの実装、さらにはそのIterator版がある。
  • ヘッダーに#include などと書く
  • こちら