「C ++入門書」の読み方-第06章コンテナアダプター

著者:Ma Zhifeng
リンク:https://zhuanlan.zhihu.com/p/24575946
出典:
著者がほぼ著作権を所有していることを知ってい ます。商用の再版については、著者に連絡して許可を得てください。非商用の再版については、出典を示してください。

ステートメント:

  • 記事の内容は「C ++ Primer Chinese Edition(5th Edition)」から収集・編集されたものであり、著作権は原本に帰属します。
  • オリジナルの本はより詳細で素晴らしい解釈を持っています、学習のために本物の本を購入してください。
  • この記事は学習とコミュニケーションのみを目的としており、いかなる形式の転載も禁止されています

テキスト

コンテナー、イテレーター、および関数にはすべてアダプターがあります。

アダプタは、標準ライブラリの一般的な概念です。

これは、あるものの動作を別のもののように見せるためのメカニズムです。

実際、それはまだクラスです。

シーケンスコンテナには、スタック、キュー、priority_queueの3つのアダプタがあります。

コンストラクタ

  1. デフォルトのコンストラクター:空のオブジェクトを作成します
  2. コンテナーのコンストラクターを受け入れます。コンテナーをコピーしてアダプターを初期化します。
stack<int> stk;
stack<int> stk(deq);
  • スタックとキューは、デフォルトで両端キューに基づいて実装されます
  • priority_queueは、デフォルトでvrcotrに基づいて実装されます

ただし、アダプタの作成時に変更できます

stack<string, vector<string>> str_stk;

ただし、この変更には特定の制限もあります

  • スタック:arrayとforward_list以外
  • キュー:リストと両端キューのみ
  • priority_queue:ベクトルと両端キューのみ

難しい暗記は必要ありません。具体的な説明については、元の本P329を参照してください。

スタックアダプター

スタック

サポートされている操作

  • push //要素をスタックにプッシュします
  • emplace //要素を作成し、スタックに圧力をかけます
  • pop //スタックの最上位要素を削除します
  • top //スタックの最上位要素の値を返します

キューアダプター

キュー和priority_queue

サポートされている操作

  • ポップ
  • 前面
  • back //キューのみがサポート
  • top // priority_queueのみがサポートします
  • 押す
  • 配置する

ポップの説明については、本に誤りがありますので、参考にしてください。

en.cppreference.com/w/c

ポップ実行削除操作

読んでいるときにエラーを見つけた場合は、ここで更新できます

github.com/githubwoniu/

おすすめ

転載: blog.csdn.net/qq_26751117/article/details/54025437