トップ->C++入門

あなたは

人目のC++(C)言語入門受講生です。

C++入門内検索

目次
C++入門〜トップ
C言語入門〜トップ
0. はじめに

1. オブジェクト指向とは?
   1. オブジェクト指向とクラス
   2. 継承
   3. カプセル化
   4. ポリモーフィズム

2. ストリーム
   1. 出力
   2. マニピュレータ
   3. 入力
   4. ファイル
   5. 練習問題1
   6. 文字列
   7. 練習問題2

3. C++の新しい文法
   1. 新しい型bool
   2. デフォルト引数
   3. newとdelete
   4. 参照型
   5. const
   6. 変数の宣言
   7. 例外
   8. オーバーロード
   9. テンプレート関数
   10. 名前空間

4. クラス
   1. クラスとは
   2. クラスの宣言
   3. クラスの実装
   4. コンストラクタとデストラクタ
   5. クラスの使用法
   6. 例題)スタッククラス
   7. テンプレートクラス
   8. 練習問題
   9. 参照型
   10. 代入演算子
   11. コピーコンストラクタ
   12. 構造体
   13. メンバー変数の初期化
   14. 内部クラス
   15. 無名クラス
   16. 無名共用体
   17. 演算子の作り方
   18. friend
   19. 練習問題
   20. クラス変数(静的変数)
   21. 静的関数
   22. クラスと関数ポインタ

5. クラスの包含
   1. 包含とは
   2. クラスの作成・破壊
   3. メンバーイニシャライザ
   4. ポインタによる包含
   5. 参照による包含
   6. 練習問題

6. 継承
   1. 継承とは
   2. スーパークラスのコンストラクタ
   3. 継承とキャスト
   4. スコープ
   5. クラスの作成・破壊
   6. 派生の種類
   7. 仮装関数
   8. 純粋仮装関数
   9. 仮装デストラクタ
   10. 例題)例外クラス
   11. V-table(VF-table)
   12. 例題)お絵かきソフト
   13. 継承と包含
   14. 多重継承
   15. 多重継承の用途
   16. 仮想クラス
   17. 実行時型情報(RTTI)
   18. dynamic_cast

7. STL
   1. STLとは
   2. STLの歴史
   3. STLの構成
   4. コンテナ
   5. vector
   6. イタレーター
   7. クラスとSTL
   8. list
   9. queue
   10. deque
   11. priority_queue
   12. stack
   13. map
   14. mutimap
   15. set
   16. multiset
   17. bitset
   18. アルゴリズム
   19. basic_string
   20. コンテナを作ろう
   21. アルゴリズムを作ろう
   22. 配列とアルゴリズム

8. その他
   1. 変数名について

9. その後は
   1. ヒューマンアカデミー C言語講座
   2. el school C言語講座


・ トップページに戻る



・ トップページに戻る

トップ-> C++入門:7章 STL-> map

←前ページへ :  トップへ :  次ページへ→

13. map

  mapはすでに説明したように、表や辞書を作るのに適したコンテナです。キーと呼ばれる データと、それから検索される値というデータの2つを格納します。

  例えば、英和辞書ならば、キーは英単語、値は日本語訳になります。

  これまでのコンテナのように、直接データを入れるのではなく、mapクラスでは、 pair構造体のメンバー変数として、キーと値を代入し、それをmapコンテナに追加するという 方法になります。

パフォーマンス
作業内容 処理速度
要素の追加 対数時間
要素の削除 対数時間
要素の追加(追加場所をイタレーターで指定) 定数時間
要素の削除(イタレーターで指定) 定数時間

mapクラスの主要な関数
関数名 書 式 説 明
empty bool empty() const queueの要素が0なら「true」を、カラでなければ「false」を返します
size size_type size() 要素数を返します
count size_type count(const key_type& key) const keyに一致するキーの数(0または1)を返します。
insert pair<iterator, bool> insert( const value_type &x ) xを追加します。戻り値として、結果が帰ります。
insert iterator insert( iteratorit, const value_type& x ) itの直後にxを追加し、イタレーターを返します。
insert void insert(const value_type* first, const value_type* last) firstからlastまでの要素を追加します。
find iterator find(const key_type& key) keyを検索し、その値を指すイタレーターを返します。keyが見つからない場合は最後を示すイタレーターを返します。
clear void clear() すべての要素を削除します。
erase void erase(iterator it ) itが指す要素を削除します。
erase void erase(iterator start, iterator last ) startからlastまでの要素を削除します。
erase size_type erase(const key_type key ) keyを削除します。削除した項目数(0または1)を返します。
begin iterator begin() マップの最初の要素を指すイタレーターを返します
end iterator end() マップの末尾を指すイタレーターを返します
rbegin iterator begin() マップの末尾を指す逆方向イタレーターを返します
rend iterator end() マップの先頭を指す逆方向イタレーターを返します
operator[] reference operator[](const key_type& key) keyを検索し、その値を指す値の参照を返します。
upper_bound iterator upper_bound(const key_type& key) keyより大きな要素(pair)の最初を指すイタレーターを返します。
存在しない場合は末尾を指すイタレーターを返します。
lower_bound iterator lower_bound(const key_type& key) key以上の要素(pair)の最後を指すイタレーターを返します。
存在しない場合は末尾を指すイタレーターを返します。
equal_range pair<iterator, iterator> equal_range(const key_type& key) このメンバ関数は、x.first == lower_bound(key) および x.second == upper_bound(key) とする反復子 x のペアを返します。
※value_typeはpair型を示します。
※いくつかのメンバー関数は、multimapとの互換を取るために 用意されているため、mapでは無意味なものも用意されている。

iterator upper_bound(const Key& key); コンストラクタ
書 式 説 明
map(const Pred& comp = Pred(), const A& al = A())
例) map<char, int> m1();

charからintを検索するmapを作成しm1とする
map(const map& x)
例) map<char, int> m2(m1);
コピーコンストラクタ
m1と同じmapを作成し、m2とする
map(const value_type* first, const value_type*
last, const Pred& comp = Pred(), const A& al = A()))
例) map<char, int> m3(m1.begin(), m1.end());


m1の先頭から末尾までの要素からなるmapを作成し、m3とする

  次のページでは実際に使ってみます。


←前ページへ :  トップへ :  次ページへ→