STL
まずはこの章をまるごと覚えよう vector/listコンテナクラス、操作法、反復子(イテレータ)、アルゴリズム、関数オブジェクトまで、一通り出てくる STLは、よく使うだろう処理を作っておいてくれて、それを使う人は楽チンな使い方をしてよいようにした「サー…
STLの三要素 コンテナ、アルゴリズム、反復子(イテレータ) STLのその他の要素 アロケータ、関数オブジェクト、アダプタ
STL標準講座―標準テンプレートライブラリを利用したC++プログラミング (Programmer’s SELECTION)作者: ハーバートシルト,エピステーメー,Herbert Schildt,多摩ソフトウェア出版社/メーカー: 翔泳社発売日: 1999/08/01メディア: 単行本購入: 3人 クリック: 20…
#include する 累和、差分、内積などがある でも、この辺りは、もっと数値演算用のライブラリを持ってくるのがよいのだろう
数値専用のvectorのようなもの。vectorより高効率 三角関数とか指数関数なんかもあるし、 sliceして2次元(行列)扱いもできるし、gsliceを使って多次元化もできる
アロケータ メモリをどうハンドリングするかを決めるのがアロケータ アロケータもオブジェクトで、コンテナオブジェクトを作ると、メンバーとしてアロケータが作られる カスタムコンテナ STLのコンテナを拡張して作る 作成自体はそれなりに簡単だけれど、「…
要素にアクセスするためのポインタ(を一般化したもの)として使うだけなら、この章の理解は不要
『関数オブジェクトとはoperator()が定義されているクラスのこと』 #include でincludeする 単項関数オブジェクトと二項関数オブジェクトに分類できる テンプレート関数になっているからもちろん(対応する)すべてのコンテナクラスで同じように使える 自作関…
アルゴリズムは(対応する)複数のコンテナに対応するように作られていて、そういう意味で「テンプレート」なものであり、「テンプレート」になった「関数」なので「関数テンプレート」 #include でincludeする 反復子(イテレータ)でアクセスする→シークエンス…
コンテナのいろいろ紹介 1つ覚えるなら、vectorを 2つ覚えるなら、vectorとlistを ハッシュ・連想を使うならmapも 集合的に扱いたいならsetも
STLとは 色々あるけれど、いくつかの大事な塊がある (1)Iterator (繰り返し処理のための仕組み) (2)アルゴリズム (3)データ構造 (1) Iterator 地道にベクトルの要素アドレスを指定して回すこともできるが… double sumC(NumericVector x) { int n = x.size();…