最近更新したページ
2013-10-20
2013-09-29
2013-09-23
2012-01-07
2011-11-09
2011-10-23
2011-10-09
2011-10-01
2011-09-29
2011-09-03
2011-08-07
2011-08-02
2011-07-29
2011-07-10
2011-05-05
2011-05-04
2011-04-24
2011-04-13
2011-04-05
2011-03-26
2011-02-18
2011-02-15
2010-12-26
2010-12-07
2010-12-05
2010-11-23
2010-09-28
2010-09-23
2010-08-26
2010-08-22
2010-07-16
2010-01-17
2010-01-11
2009-10-04
2009-08-21
2009-08-13
2009-06-18
2009-06-01
2009-04-29
2009-02-16
2009-02-11
2009-02-03
2008-07-22
2008-07-21
2008-07-15
2008-07-14
2008-07-13
2008-07-12
2008-07-08
2008-07-05
2008-06-28
2008-06-17
2008-06-05
2008-06-02
2008-06-01
2008-05-29
2008-05-26
2008-05-21
2008-05-19
2008-05-18
2007-10-31
2007-10-27
2007-09-28
2007-09-23
2007-09-17
2007-09-16
2007-09-14
2007-09-11
2007-06-18
2007-04-15
2006-12-21
2006-11-30
2006-11-22
2006-08-17
2006-03-29
2006-03-28
2006-03-27

STL メンバ関数とコンテナ


 メンバ関数についてのみ調べていた積りが、アルゴリズム混在であることが判った。
 この Wiki は、題名の変更が出来ない(削除して新規すればできる…面倒!)ので、内部表題のみ変更。

アルゴリズムとメンバ関数

 コンテナには、標準操作を提供する関数(メンバ関数)が実装されている。
 このメンバ関数とコンテナの相対的な関係を整理し、見やすくしたものを記載。
 メンバ関数で提供されない機能も、アルゴリズム(そういう頁はまだ無い)で、STL用各種関数が更に提供されている。

※例:ベクトル配列のソートなど「メンバ関数」にない機能も、アルゴリズム(外部汎用関数)の sort() 他、多数提供あり。

アルゴリズム

 「メンバ関数一覧」から「アルゴリズム」と重複すると思われる関数についての再確認メモ。

※内容非保証

  • 要素の追加・変更・削除、及び、挿入・結合
    • 要素の変更・挿入・結合
      1. marge - 連結
      2. replace - 要素の置き換え
        例:replace(it_start, it_end, val, replace_val);
        戻り値:なし
    • 要素の削除
      1. remove
      2. remove_if
      3. unique - 重複削除
  • 検索・抽出、及び、比較
    • 検索(主に未ソートデータ検索)
      ※その他:adjacent_find,equal,find_if,find_end,mismatch ...
      1. find
      2. find_first_not_of
      3. find_first_of
      4. find_last_not_of
      5. find_last_of
    • 一致カウント
      1. count - 指定値一致カウント
    • 抽出(抽出・検索関連)
      ※その他:binary_search ...
      1. lower_bound
      2. upper_bound
      3. equal_range
  • その他
    • ソート
      ※その他:nth_element,stable_sort,partial_sort,partial.sort_copy ...
      1. sort
      2. reverse - 逆順ソート(一般にソート含めない?)
    • コピー・交換
      1. swap
      2. copy


▲上へ

メンバ関数


 コンテナはデータ要素の実態+データ処理メンバ関数(基本的に各コンテナ共通仕様)を含めた機能を提供する。

※注!:メンバ関数としているが「アルゴリズム」が混在してます。

メンバ関数(機能別)


※内容非保証(A〜Z順を再編集しただけの表)
シーケンス アダプタ 連想コンテナ 特殊コンテナ
メンバ関数 v d l st q pq s ms m mm memo storing
イテレータ
begin
end
rbegin
rend
要素の参照・代入
参照(ランダム)・代入
at × - - - -
参照(シリアル)のみ
front - - - -
back - - - -
top - - - - アダプタ
要素の追加・変更・削除、及び、挿入・結合
pop/push(要素の追加と削除:(シリアル))
pop - - - - アダプタ
pop_back - - - -
pop_front × - - - -
push - - - - アダプタ
push_back - - - -
push_front × - - - -
要素の追加(シリアル)
insert
append - - - - - - - - - - string
要素の変更・挿入・結合
splice - - - - list:移動挿入
*marge - - - - list:連結
*replace string:置換
要素の削除
*remove - - - - list
*remove_if - - - - list
erase
clear
*unique - - - - list:重複削除
要素数・メモリサイズの取得・確保・変更
要素数・文字数関連
empty
size
length - - - - - - - - - - string
メモリサイズ関連
resize - - - -
reserve ×× - - - - vector,string
capacity ×× - - - - vector,string
max_size
検索・抽出、及び、比較
検索
?find - - - - - - 連想コンテナ
rfind string
*find_first_not_of - - - - - -----string
*find_first_of- - - - - - - - - - string
*find_last_not_of - - - - - -----string
*find_last_of - - - - - - - - - - string
一致カウント
*count - - - - - - 連想コンテナ
抽出
*lower_bound - - - - - - 連想コンテナ
*upper_bound - - - - - - 連想コンテナ
*equal_range - - - - - - 連想コンテナ
比較
key_comp - - - - - - 連想コンテナ
value_comp - - - - - - 連想コンテナ
compare - - - - - - - - - - string
その他
ソート
*sort - - - - list:sort
*reverse - - - - list:r_sort
コピー・交換
?swap
assign - - - - ar cp,sz
*copy - - - - - - - - - - string
その他
c_str - - - - - - - - - - string:cast
substr - - - - - - - - - - string:加工
未整理
data - - - - - - - - - - string:?
get_allocator allocator取得
シーケンス:v=vector d=deque l=list
連想コンテナ:s=set ms=multiset m=map mm=multimap
アダプタ:st=stack q=queue pq=priority_queue
※アルゴリズムの使用は、<algorithm> のインクルードが必要。
※ */? 印がアルゴリズムの可能性有り。
※その他がメンバ関数と断定もしない。(要確認)
※内容非保証!未確認状態の情報多数混在(要するにメモである)。
編集

▲上へ

A〜Z順

 メンバ関数、アルゴリズム混在。

※内容非保証(VC++2005 入力補助メンバ関数表示を基準に起表)
シーケンス アダプタ 連想コンテナ 特殊コンテナ
メンバ関数 v d l st q pq s ms m mm memo storing
append - - - - - - - - - - string
assign - - - -
at × - - - -
back - - - -
begin
c_str - - - - - - - - - - string
capacity ×× - - - - vector,string
clear
compare - - - - - - - - - - string
copy - - - - - - - - - - string
count - - - - - - 連想コンテナ
data - - - - - - - - - - string
empty
end
equal_range - - - - - - 連想コンテナ
erase
find - - - - - - 連想コンテナ
find_first_not_of - - - - - -----string
find_first_of- - - - - - - - - - string
find_last_not_of - - - - - -----string
find_last_of - - - - - - - - - - string
front - - - -
get_allocator
insert
key_comp - - - - - - 連想コンテナ
length - - - - - - - - - - string
lower_bound - - - - - - 連想コンテナ
max_size
marge - - - - list
pop - - - - アダプタ
pop_back - - - -
pop_front × - - - -
push - - - - アダプタ
push_back - - - -
push_front × - - - -
rbegin
remove - - - - list
remove_if - - - - list
rend
replace string
reserve ×× - - - - vector,string
resize - - - -
reverse - - - - list
rfind string
size
sort - - - - list
splice - - - - list
substr - - - - - - - - - - string
swap
top - - - - アダプタ
unique - - - - list
upper_bound - - - - - - 連想コンテナ
value_comp - - - - - - 連想コンテナ
シーケンス:v=vector d=deque l=list
連想コンテナ:s=set ms=multiset m=map mm=multimap
アダプタ:st=stack q=queue pq=priority_queue
編集
※一応チェックしたが、誤記の可能性も有るので注意!(非保証!)
※現状 a~z順、機能別の方が便利だが、別途追加時の管理が大変なので現状維持。

▲上へ

リンク


内部リンク


外部リンク


  • 現在ありません

▲上へ
2008年06月05日(木) 06:01:02 Modified by cafeboy1




スマートフォン版で見る