std::queue

std::queue を試してみます。

 

 

 

std::queue
ヘッダ <queue> で定義
template<
    class T,
    class Container = std::deque<T>
> class queue;
テンプレート引数
T - 要素の型
Container - 要素を格納するために使用するベースとなるコンテナの型。 このコンテナは SequenceContainer の要件を満たさなければなりません。 さらに、通常のセマンティクスを持つ以下の関数を提供していなければなりません。
  • back()
  • front()
  • push_back()
  • pop_front()
標準のコンテナ std::deque および std::list はこれらの要件を満たします。

 

std::queue クラスはキューの機能 - 特に FIFO (先入れ、先出し) のデータ構造を提供するコンテナアダプタです。

このクラステンプレートはベースとなるコンテナのラッパーとして振る舞います - 関数の特定の集合のみが提供されます。 queue はベースとなるコンテナの末尾へ要素をプッシュし、先頭から要素をポップします。

 

 

1. 始めに

[概要]

「C++ ポケットリファレンス[改訂第4版]」に記載のサンプルからコードを引用して試してみます。

 

[環境]

コンパイラ : g++, 9.3.0
OS : Ubuntu (WSL2), 20.04

 

[プログラムソース "queue_01.cpp"]

#include <iostream>
#include <string>
#include <queue>

using namespace std;

int main()
{
    queue<string>   q;

    q.push("ramen");
    q.push("udon");
    q.push("soba");

    while( !q.empty() ){
        cout << q.front() << endl;
        q.pop();    
    }

}

 

[出力]

ramen
udon
soba

 



参考

 


 

記載

2021-08-11 - 新規作成