2012年4月7日土曜日

C++ : イテレーター その2

※自分の備忘録として記載してますので適当かつ概念のみです〜

本当は最初から少しずつ勉強して行けば良いのでしょうが
とりあえず使えるようになるのが優先ですので、逆引き形式で調べて行きます


さて、イテレータを知る為の前提条件

リスト構造は前回なんとなく把握(ぉ

次は、vector,list,mapを理解しておりません
上記3つはC++の標準ライブラリーに存在します。

標準ライブラリーは、C++の便利ツールの集まりだと認識。
必要にかられて出てきた物でしょうから。使えるようになりたい物です。


vector

動的配列をテンプレートで表記したもの。
2Dとか、3DのVectorでは無いようです。最初こんがらがったw

動的配列
 最初にサイズのわからない配列を用意する事

テンプレート
 型に依存する事の無い 関数、クラス、引数


機能を見ると
・ある程度、最初に確保
・足りなくなると新たに確保


何がどれくらい入るかわからない配列を用意したい時に使うんですな。

で、STLライブラリーに含まれるとありますが。STLって何ぞ



STL(Standard Template Library)

 C++標準拡張機能のテンプレート化されたクラス群らしい。
 テンプレートは、型に依存する事の無いんだったよな。



コンテナ

 Vector,Listなど、
 データ管理をするテンプレートクラスを"コンテナ"という。

 "シーケンスコンテナ"
  vector , list などは、連続的に並んでいるコンテナ

 "連想コンテナ"
  set,mapのように常にソートされているコンテナ

 という・・・。


list

 双方向リストを構築したテンプレートクラス

 お、これは先日やった、リスト構造のことっすね。
 前後のポインタで次を見つけるデーター構造です。



イテレータのまとめ

と言う訳で,まだmapとか調べてないですが(w

イテレータとはデーター構造の異なるコンテナを、
次々にループ、処理が出来る
言った感じですね

リストの要素は、イテレータを使わないとアクセスが出来ないみたいです
取り出したかったら、芋づる状に調べるしかないですねw

添字を使ってアクセスできるPythonのリストとは違いますなぁ〜。


と言う事で適当に調べたイテレータでした_(:p) ∠)_

0 件のコメント:

コメントを投稿