std::queue::queue – cppreference.com
Z cppreference.com
<tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody>
| (1) | ||
|
|
(do C++11) | |
|
|
(od C++11) | |
|
|
(2) | (od C++11) |
|
|
(3) | |
|
|
(4) | (od C++11) |
|
|
(5) | (od C++11) |
|
|
(6) | (od C++11) |
|
|
(7) | (od C++11) |
|
|
(8) | (od C++11) |
|
|
(9) | (od C++11) |
Konstruuje nowy kontener opakowywany przez ten adapter z różnych źródeł danych, opcjonalnie wykorzystując dostarczony przez użytkownika alokator alloc.
1) Konstruuje opakowywany kontener
cpoprzez skopiowanie
cont. Jest to również konstruktor domyślny. (do C++11)
2) Konstruuje opakowywany kontener
c poprzez przeniesienie std::move(cont). Jest to również konstruktor domyślny. (od C++11)
3) Konstruktor kopiujący. Adapter jest konstruowany poprzez skopiowanie other.c. (niejawnie zadeklarowany)
4) Konstruktor przenoszący. Adapter jest konstruowany poprzez przeniesienie std::move(other.c). (niejawnie zadeklarowany)
5-9) Następujące konstruktory są zdefiniowane tylko wtegy, gdy std::uses_allocator<container_type, Alloc>::value == true, to znaczy, gdy opakowywany kontener jest "allocator-aware" (wszystkie kontenery biblioteki standardowej spełniają to założenie).
5) Konstruuje opakowywany kontener wykorzystując
alloc jako alokator, tak jak przy wywołaniu c(alloc).
6) Konstruuje opakowywany kontener wykorzystując zawartość
conti używając
alloc jako alokatora, tak jak przy wywołaniu c(cont, alloc).
7) Konstruuje opakowywany kontener przenosząc zawartość
conti używając
alloc jako alokatora, tak jak przy wywołaniu c(std::move(cont), alloc).
8) Konstruuje adapter wykorzystując zawartość
other.ci używając
alloc jako alokatora, tak jak przy wywołaniu c(other.c, alloc).
9) Konstruuje adapter przenosząc zawartość
otheri używając
alloc jako alokatora, tak jak przy wywołaniu c(std::move(other.c), alloc).
Parametry
| alloc | - | alokator używany do wszystkich alokacji pamięci wykonywanych przez opakowywany kontener |
| other | - | inny adapter, wykorzystywany jako źródło, z którego inicjalizowany jest opakowywany kontener |
| cont | - | inny kontener, wykorzystywany jako źródło, którym inicjalizowany jest opakowywany kontener |
| first, last | - | przedział, z którego zostają skopiowane elementy |
| Wymagania względem typów | ||
| -Alloc musi spełniać wymagania Alokator. | ||
| -Container musi spełniać wymagania Container . Konstruktory (5-10) są definiowane, jeśli Container spełnia wymagania AllocatorAwareContainer | ||
| -InputIt musi spełniać wymagania InputIterator. | ||
Złożoność
1, 3, 5, 6, 8: liniowa względem rozmiaru cont lub other
2, 4, 7, 9: stała
Przykład
#include <queue> #include <deque> #include <iostream> int main() { std::queue<int> c1; c1.push(5); std::cout << c1.size() << '\n'; std::queue<int> c2(c1); std::cout << c2.size() << '\n'; std::deque<int> deq {3, 1, 4, 1, 5}; std::queue<int> c3(deq); std::cout << c3.size() << '\n'; }
Wynik:
Zobacz także
| przypisuje wartości do adaptora kontenera (publiczna metoda) [edit] |