W języku C++ istnieją szablony do obsługi różnego rodzaju kolejek. Poniższy przykład pokazuje jak używać kolejki FIFO (first in, first out).

Uwaga! Stare kompilatory (standard C++ 98) zamiast metody emplace() używają push(). W nowych można używać obu metod, różnica w działaniu jest istotna z punktu widzenia zaawansowanych użytkowników, których ten przykład raczej nie zainteresuje.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <queue>

using namespace std;

void memoryInfo(queue <double> queueMem)
{
        cout << "Rozmiar kolejki FIFO: "
                << queueMem.size()
                << ", w bajtach: "
                << queueMem.size() * sizeof(double)
                << endl;
}


int main()
{

        queue <double> queueFifo;

        memoryInfo(queueFifo); //wypisz informacje o zajętej pamięci
        queueFifo.emplace(3.14); //dodajemy trzy liczby
        queueFifo.emplace(6.1);
        queueFifo.emplace(-19.1);
        memoryInfo(queueFifo);

        while (!queueFifo.empty())
        {
                double first = queueFifo.front(); //pobieramy pierwszy w kolejce
                cout << "Zdejmuje element: " << first << endl;
                queueFifo.pop(); //wywalamy pierwszy z kolejki FIFO (zgodnie z zasadą first in first out)
                memoryInfo(queueFifo); //wypisz informacje o rozmiarze kolejki C++
        }
        return 0;
}
C