- 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)アルゴリズム
- こちらにあるようにソートとかシャッフルとか
- またこちらにあるように複素数とか
- 乱数はこちら
- ヘッダーに#include と書く
- (3)データ構造
- ベクトル・行列・アレイ、集合、連想配列(ハッシュ)について、その格納パターン、アクセスパターンごとの実装、さらにはそのIterator版がある。
- ヘッダーに#include などと書く
- こちらで