著者:Ma Zhifeng
リンク:https://zhuanlan.zhihu.com/p/24575946
出典:
著者がほぼ著作権を所有していることを知ってい ます。商用の再版については、著者に連絡して許可を得てください。非商用の再版については、出典を示してください。
リンク:https://zhuanlan.zhihu.com/p/24575946
出典:
著者がほぼ著作権を所有していることを知ってい ます。商用の再版については、著者に連絡して許可を得てください。非商用の再版については、出典を示してください。
ステートメント:
- 記事の内容は「C ++ Primer Chinese Edition(5th Edition)」から収集・編集されたものであり、著作権は原本に帰属します。
- オリジナルの本はより詳細で素晴らしい解釈を持っています、学習のために本物の本を購入してください。
- この記事は学習とコミュニケーションのみを目的としており、いかなる形式の転載も禁止されています
テキスト
コンテナー、イテレーター、および関数にはすべてアダプターがあります。
アダプタは、標準ライブラリの一般的な概念です。
これは、あるものの動作を別のもののように見せるためのメカニズムです。
実際、それはまだクラスです。
シーケンスコンテナには、スタック、キュー、priority_queueの3つのアダプタがあります。
コンストラクタ
- デフォルトのコンストラクター:空のオブジェクトを作成します
- コンテナーのコンストラクターを受け入れます。コンテナーをコピーしてアダプターを初期化します。
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のみがサポートします
- 押す
- 配置する
ポップの説明については、本に誤りがありますので、参考にしてください。
http:// en.cppreference.com/w/c pp / container / queue / pop
ポップ実行削除操作
読んでいるときにエラーを見つけた場合は、ここで更新できます