std::queue::queue
Z cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
| (1) | ||
explicit queue( const Container& cont = Container() ); |
(do C++11) | |
explicit queue( const Container& cont ); |
(od C++11) | |
explicit queue( Container&& cont = Container() ); |
(2) | (od C++11) |
queue( const queue& other ); |
(3) | |
queue( queue&& other ); |
(4) | (od C++11) |
template< class Alloc > explicit queue( const Alloc& alloc ); |
(5) | (od C++11) |
template< class Alloc > queue( const Container& cont, const Alloc& alloc ); |
(6) | (od C++11) |
template< class Alloc > queue( Container&& cont, const Alloc& alloc ); |
(7) | (od C++11) |
template< class Alloc > queue( const queue& other, const Alloc& alloc ); |
(8) | (od C++11) |
template< class Alloc > queue( queue&& other, const Alloc& alloc ); |
(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 c poprzez 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ść cont i używając alloc jako alokatora, tak jak przy wywołaniu
c(cont, alloc).7) Konstruuje opakowywany kontener przenosząc zawartość cont i używając alloc jako alokatora, tak jak przy wywołaniu
c(std::move(cont), alloc).8) Konstruuje adapter wykorzystując zawartość other.c i używając alloc jako alokatora, tak jak przy wywołaniu
c(other.c, alloc).9) Konstruuje adapter przenosząc zawartość other i 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
| Ta sekcja jest niedokończona. |
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:
1
1
5
Zobacz także
| przypisuje wartości do adaptora kontenera (publiczna metoda) |