スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

C++のコンテナ(C#でいうとこのコレクション)

サーバープログラムのせいで最近C++を扱うことが増えてきたのでメモ。
C#のコレクション=C++ではコンテナというらしい。

vector
可変長一次配列
速い=先頭 末尾 の追加と削除 、[]のアクセスは最速
遅い=それ以外の場所への追加

deque
双方向キュー、循環(リング)バッファ
速い=先頭 末尾 の追加と削除 、[]のアクセス
遅い=それ以外の場所への追加

list
リンクポインタでリンクされたリスト・双方向連結リスト
[]が使えず、イテレータを使用してアクセス
常にリスト中の要素数分のメモリだけを利用(vectorやdequeは、コンテナ中の要素数よりも多目のメモリを確保し、足りなくなったときにメモリを確保しなおす)
速い=任意の箇所への要素の追加、削除

set
内部で自動的にソート・木構造
要素が並んでいる訳ではないので[]が使えず、イテレータを使用してアクセス
速い=値の小さな要素から順にアクセス

map
連想配列で木構造
内部で自動的に「キー」によってソート
[]演算子は添字ではなく要素のキーを指定することでアクセスできる
速い=キーの値の小さな要素から順にアクセス





サーバーはできるだけオブジェクト思考で作成していなかったのだが混ざってきた気がする。危険じゃの。
ねよっと。

コメントの投稿

非公開コメント

プロフィール

あしゅ

Author:あしゅ
ぷぃぷぃ日常。
いつのまにか雑記ブログに。

カテゴリ
最新記事
検索フォーム
最新コメント
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。