queue
(STL/CLR)
La classe modello descrive un oggetto che controlla una sequenza di lunghezza variabile di elementi con accesso first-in first-out. Usare l'adattatore queue
contenitore per gestire un contenitore sottostante come coda.
Nella descrizione GValue
seguente, è uguale Value
a a meno che quest'ultimo non sia un tipo ref, nel qual caso è Value^
. Analogamente, GContainer
è uguale Container
a a meno che quest'ultimo non sia un tipo ref, nel qual caso è Container^
.
Sintassi
template<typename Value,
typename Container>
ref class queue
: public
System::ICloneable,
Microsoft::VisualC::StlClr::IQueue<GValue, GContainer>
{ ..... };
Parametri
Value
Tipo di un elemento nella sequenza controllata.
Container
Tipo del contenitore sottostante.
Requisiti
Intestazione: <cliext/queue>
Spazio dei nomi: cliext
Importante
Per compilare gli esempi in questo argomento, assicurarsi di aver installato il supporto di C++/CLI come descritto in Installare il supporto di C++/CLI in Visual Studio 2022. Per il tipo di progetto, creare un'app console CLR (.NET Framework).
Dichiarazioni
Definizione dei tipi | Descrizione |
---|---|
queue::const_reference |
Tipo di un riferimento costante a un elemento. |
queue::container_type |
Tipo del contenitore sottostante. |
queue::difference_type |
Tipo di una distanza Signed tra due elementi. |
queue::generic_container |
Tipo dell'interfaccia generica per l'adattatore contenitore. |
queue::generic_value |
Tipo di un elemento per l'interfaccia generica per l'adattatore contenitore. |
queue::reference |
Tipo di un riferimento a un elemento. |
queue::size_type |
Tipo di una distanza Signed tra due elementi. |
queue::value_type |
Tipo di un elemento. |
Funzione membro | Descrizione |
---|---|
queue::assign |
Sostituisce tutti gli elementi. |
queue::back |
Accede all'ultimo elemento. |
queue::empty |
Verifica se sono presenti o meno degli elementi. |
queue::front |
Accede al primo elemento. |
queue::get_container |
Accede al contenitore sottostante. |
queue::pop |
Rimuove il primo elemento. |
queue::push |
Aggiunge un nuovo ultimo elemento. |
queue::queue |
Costruisce un oggetto contenitore. |
queue::size |
Conta il numero di elementi. |
queue::to_array |
Copia la sequenza controllata in una nuova matrice. |
Proprietà | Descrizione |
---|---|
queue::back_item |
Accede all'ultimo elemento. |
queue::front_item |
Accede al primo elemento. |
Operatore | Descrizione |
---|---|
queue::operator= |
Sostituisce la sequenza controllata. |
operator!= (coda) |
Determina se un queue oggetto non è uguale a un altro queue oggetto. |
operator< (coda) |
Determina se un queue oggetto è minore di un altro queue oggetto. |
operator<= (coda) |
Determina se un queue oggetto è minore o uguale a un altro queue oggetto. |
operator== (coda) |
Determina se un queue oggetto è uguale a un altro queue oggetto. |
operator> (coda) |
Determina se un queue oggetto è maggiore di un altro queue oggetto. |
operator>= (coda) |
Determina se un queue oggetto è maggiore o uguale a un altro queue oggetto. |
Interfacce
Interfaccia | Descrizione |
---|---|
ICloneable | Duplicare un oggetto . |
IQueue<Value, Container> |
Mantenere l'adattatore contenitore generico. |
Osservazioni:
L'oggetto alloca e libera l'archiviazione per la sequenza che controlla tramite un contenitore sottostante di tipo Container
che archivia Value
gli elementi e aumenta su richiesta. L'oggetto limita l'accesso solo al push del primo elemento e all'estrazione dell'ultimo elemento, implementando una coda first-in first-out (nota anche come coda FIFO o semplicemente una coda).
Membri
queue::assign
Sostituisce tutti gli elementi.
Sintassi
void assign(queue<Value, Container>% right);
Parametri
right
Adattatore contenitore da inserire.
Osservazioni:
La funzione membro viene right.get_container()
assegnata al contenitore sottostante. Viene usato per modificare l'intero contenuto della coda.
Esempio
// cliext_queue_assign.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign a repetition of values
Myqueue c2;
c2.assign(c1);
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
queue::back
Accede all'ultimo elemento.
Sintassi
reference back();
Osservazioni:
La funzione membro restituisce un riferimento all'ultimo elemento della sequenza controllata, che deve essere nonempty. È possibile usarlo per accedere all'ultimo elemento, quando si conosce un elemento esistente.
Esempio
// cliext_queue_back.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect last item
System::Console::WriteLine("back() = {0}", c1.back());
// alter last item and reinspect
c1.back() = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
back() = c
a b x
queue::back_item
Accede all'ultimo elemento.
Sintassi
property value_type back_item;
Osservazioni:
La proprietà accede all'ultimo elemento della sequenza controllata, che deve essere nonempty. È possibile usarlo per leggere o scrivere l'ultimo elemento, quando si conosce un elemento esistente.
Esempio
// cliext_queue_back_item.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect last item
System::Console::WriteLine("back_item = {0}", c1.back_item);
// alter last item and reinspect
c1.back_item = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
back_item = c
a b x
queue::const_reference
Tipo di un riferimento costante a un elemento.
Sintassi
typedef value_type% const_reference;
Osservazioni:
Il tipo descrive un riferimento costante a un elemento.
Esempio
// cliext_queue_const_reference.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for (; !c1.empty(); c1.pop())
{ // get a const reference to an element
Myqueue::const_reference cref = c1.front();
System::Console::Write("{0} ", cref);
}
System::Console::WriteLine();
return (0);
}
a b c
queue::container_type
Tipo del contenitore sottostante.
Sintassi
typedef Container value_type;
Osservazioni:
Il tipo è un sinonimo del parametro di modello Container
.
Esempio
// cliext_queue_container_type.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c" using container_type
Myqueue::container_type wc1 = c1.get_container();
for each (wchar_t elem in wc1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
queue::difference_type
Tipi di distanza con segno tra due elementi.
Sintassi
typedef int difference_type;
Osservazioni:
Il tipo descrive un numero di elementi potenzialmente negativo.
Esempio
// cliext_queue_difference_type.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// compute negative difference
Myqueue::difference_type diff = c1.size();
c1.push(L'd');
c1.push(L'e');
diff -= c1.size();
System::Console::WriteLine("pushing 2 = {0}", diff);
// compute positive difference
diff = c1.size();
c1.pop();
c1.pop();
c1.pop();
diff -= c1.size();
System::Console::WriteLine("popping 3 = {0}", diff);
return (0);
}
a b c
pushing 2 = -2
popping 3 = 3
queue::empty
Verifica se sono presenti o meno degli elementi.
Sintassi
bool empty();
Osservazioni:
La funzione membro restituisce true per una sequenza controllata vuota. È equivalente a size() == 0
. Viene usato per verificare se l'oggetto queue
è vuoto.
Esempio
// cliext_queue_empty.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("size() = {0}", c1.size());
System::Console::WriteLine("empty() = {0}", c1.empty());
// clear the container and reinspect
c1.pop();
c1.pop();
c1.pop();
System::Console::WriteLine("size() = {0}", c1.size());
System::Console::WriteLine("empty() = {0}", c1.empty());
return (0);
}
a b c
size() = 3
empty() = False
size() = 0
empty() = True
queue::front
Accede al primo elemento.
Sintassi
reference front();
Osservazioni:
La funzione membro restituisce un oggetto reference al primo elemento della sequenza controllata, che non deve essere vuoto. È possibile usarlo per accedere al primo elemento, quando si conosce un elemento esistente.
Esempio
// cliext_queue_front.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect first item
System::Console::WriteLine("front() = {0}", c1.front());
// alter first item and reinspect
c1.front() = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
front() = a
x b c
queue::front_item
Accede al primo elemento.
Sintassi
property value_type front_item;
Osservazioni:
La proprietà accede al primo elemento della sequenza controllata, che deve essere nonempty. Lo si usa per leggere o scrivere il primo elemento, quando si conosce un elemento esistente.
Esempio
// cliext_queue_front_item.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect last item
System::Console::WriteLine("front_item = {0}", c1.front_item);
// alter last item and reinspect
c1.front_item = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
front_item = a
x b c
queue::generic_container
Tipo dell'interfaccia generica per l'adattatore contenitore.
Sintassi
typedef Microsoft::VisualC::StlClr::IQueue<Value>
generic_container;
Osservazioni:
Il tipo descrive l'interfaccia generica per questa classe adattatore contenitore modello.
Esempio
// cliext_queue_generic_container.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct a generic container
Myqueue::generic_container^ gc1 = %c1;
for each (wchar_t elem in gc1->get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify generic and display original
gc1->push(L'd');
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify original and display generic
c1.push(L'e');
for each (wchar_t elem in gc1->get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
a b c d
a b c d e
queue::generic_value
Tipo di un elemento da usare con l'interfaccia generica per il contenitore.
Sintassi
typedef GValue generic_value;
Osservazioni:
Il tipo descrive un oggetto di tipo GValue
che descrive il valore dell'elemento archiviato da usare con l'interfaccia generica per questa classe contenitore modello. (GValue
è value_type
o value_type^
se value_type
è un tipo ref.
Esempio
// cliext_queue_generic_value.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// get interface to container
Myqueue::generic_container^ gc1 = %c1;
for each (wchar_t elem in gc1->get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// display in order using generic_value
for (; !gc1->empty(); gc1->pop())
{
Myqueue::generic_value elem = gc1->front();
System::Console::Write("{0} ", elem);
}
System::Console::WriteLine();
return (0);
}
a b c
a b c
a b c
queue::get_container
Accede al contenitore sottostante.
Sintassi
container_type^ get_container();
Osservazioni:
La funzione membro restituisce il contenitore sottostante. È possibile usarlo per ignorare le restrizioni imposte dal wrapper del contenitore.
Esempio
// cliext_queue_get_container.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
queue::operator=
Sostituisce la sequenza controllata.
Sintassi
queue <Value, Container>% operator=(queue <Value, Container>% right);
Parametri
right
Adattatore contenitore da copiare.
Osservazioni:
L'operatore membro copia right
nell'oggetto , quindi restituisce *this
. Viene usato per sostituire la sequenza controllata con una copia della sequenza controllata in right
.
Esempio
// cliext_queue_operator_as.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2 = c1;
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
queue::pop
Rimuove il primo elemento.
Sintassi
void pop();
Osservazioni:
Rimuove il primo elemento della sequenza controllata, che deve essere nonempty.
Esempio
// cliext_queue_pop.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// pop an element and redisplay
c1.pop();
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
b c
queue::push
Aggiunge un nuovo ultimo elemento.
Sintassi
void push(value_type val);
Osservazioni:
La funzione membro aggiunge un elemento con valore val
alla fine della coda. È possibile usarlo per aggiungere un elemento alla coda.
Esempio
// cliext_queue_push.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
queue::queue
Costruisce un oggetto adattatore contenitore.
Sintassi
queue();
queue(queue<Value, Container>% right);
queue(queue<Value, Container>^ right);
explicit queue(container_type% wrapped);
Parametri
right
Oggetto da copiare.
wrapped
Contenitore di cui eseguire il wrapping da usare.
Osservazioni:
Costruttore:
queue();
crea un contenitore incapsulato vuoto. Viene usato per specificare una sequenza controllata iniziale vuota.
Costruttore:
queue(queue<Value, Container>% right);
crea un contenitore di cui è stato eseguito il wrapping che è una copia di right.get_container()
. Viene usato per specificare una sequenza controllata iniziale che è una copia della sequenza controllata dall'oggetto queue
right
.
Costruttore:
queue(queue<Value, Container>^ right);
crea un contenitore di cui è stato eseguito il wrapping che è una copia di right->get_container()
. Viene usato per specificare una sequenza controllata iniziale che è una copia della sequenza controllata dall'oggetto queue
*right
.
Costruttore:
explicit queue(container_type wrapped);
usa il contenitore wrapped
esistente come contenitore di cui è stato eseguito il wrapping. Viene usato per costruire un queue
oggetto da un contenitore esistente.
Esempio
// cliext_queue_construct.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
#include <cliext/list>
typedef cliext::queue<wchar_t> Myqueue;
typedef cliext::list<wchar_t> Mylist;
typedef cliext::queue<wchar_t, Mylist> Myqueue_list;
int main()
{
// construct an empty container
Myqueue c1;
System::Console::WriteLine("size() = {0}", c1.size());
// construct from an underlying container
Mylist v2(5, L'x');
Myqueue_list c2(v2);
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct by copying another container
Myqueue_list c3(c2);
for each (wchar_t elem in c3.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct by copying another container through handle
Myqueue_list c4(%c2);
for each (wchar_t elem in c4.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
size() = 0
x x x x x
x x x x x
x x x x x
queue::reference
Tipo di un riferimento a un elemento.
Sintassi
typedef value_type% reference;
Osservazioni:
Il tipo descrive un riferimento a un elemento.
Esempio
// cliext_queue_reference.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify back of queue and redisplay
Myqueue::reference ref = c1.back();
ref = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b x
queue::size
Conta il numero di elementi.
Sintassi
size_type size();
Osservazioni:
La funzione membro restituisce la lunghezza della sequenza controllata. Viene usato per determinare il numero di elementi attualmente presenti nella sequenza controllata. Se è importante sapere se la sequenza ha dimensioni diverse da zero, vedere empty()
.
Esempio
// cliext_queue_size.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("size() = {0} starting with 3", c1.size());
// pop an item and reinspect
c1.pop();
System::Console::WriteLine("size() = {0} after popping", c1.size());
// add two elements and reinspect
c1.push(L'a');
c1.push(L'b');
System::Console::WriteLine("size() = {0} after adding 2", c1.size());
return (0);
}
a b c
size() = 3 starting with 3
size() = 2 after popping
size() = 4 after adding 2
queue::size_type
Tipo di una distanza Signed tra due elementi.
Sintassi
typedef int size_type;
Osservazioni:
Il tipo descrive un numero di elementi non negativi.
Esempio
// cliext_queue_size_type.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// compute positive difference
Myqueue::size_type diff = c1.size();
c1.pop();
c1.pop();
diff -= c1.size();
System::Console::WriteLine("size difference = {0}", diff);
return (0);
}
a b c
size difference = 2
queue::to_array
Copia la sequenza controllata in una nuova matrice.
Sintassi
cli::array<Value>^ to_array();
Osservazioni:
La funzione membro restituisce una matrice contenente la sequenza controllata. Viene usato per ottenere una copia della sequenza controllata in formato matrice.
Esempio
// cliext_queue_to_array.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// copy the container and modify it
cli::array<wchar_t>^ a1 = c1.to_array();
c1.push(L'd');
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// display the earlier array copy
for each (wchar_t elem in a1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c d
a b c
queue::value_type
Tipo di un elemento.
Sintassi
typedef Value value_type;
Osservazioni:
Il tipo è un sinonimo del parametro di modello Value
.
Esempio
// cliext_queue_value_type.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display reversed contents "a b c" using value_type
for (; !c1.empty(); c1.pop())
{ // store element in value_type object
Myqueue::value_type val = c1.front();
System::Console::Write("{0} ", val);
}
System::Console::WriteLine();
return (0);
}
a b c
operator!=
(coda)
Queue
confronto diverso.
Sintassi
template<typename Value,
typename Container>
bool operator!=(queue<Value, Container>% left,
queue<Value, Container>% right);
Parametri
left
Contenitore sinistro da confrontare.
right
Contenitore destro da confrontare.
Osservazioni:
La funzione dell'operatore restituisce !(left == right)
. Viene usato per verificare se left
non è ordinato come right
quando le due code vengono confrontate in base all'elemento.
Esempio
// cliext_queue_operator_ne.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents "a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] != [a b c] is {0}",
c1 != c1);
System::Console::WriteLine("[a b c] != [a b d] is {0}",
c1 != c2);
return (0);
}
a b c
a b d
[a b c] != [a b c] is False
[a b c] != [a b d] is True
operator<
(coda)
Queue
minore di confronto.
Sintassi
template<typename Value,
typename Container>
bool operator<(queue<Value, Container>% left,
queue<Value, Container>% right);
Parametri
left
Contenitore sinistro da confrontare.
right
Contenitore destro da confrontare.
Osservazioni:
La funzione operatore restituisce true se, per la posizione i
più bassa per la quale !(right[i] < left[i])
è true anche .left[i] < right[i]
In caso contrario, viene restituito left->size() < right->size()
. Viene usato per verificare se left
viene ordinato prima right
di quando le due code vengono confrontate in base all'elemento.
Esempio
// cliext_queue_operator_lt.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents "a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] < [a b c] is {0}",
c1 < c1);
System::Console::WriteLine("[a b c] < [a b d] is {0}",
c1 < c2);
return (0);
}
a b c
a b d
[a b c] < [a b c] is False
[a b c] < [a b d] is True
operator<=
(coda)
Queue
confronto minore o uguale.
Sintassi
template<typename Value,
typename Container>
bool operator<=(queue<Value, Container>% left,
queue<Value, Container>% right);
Parametri
left
Contenitore sinistro da confrontare.
right
Contenitore destro da confrontare.
Osservazioni:
La funzione dell'operatore restituisce !(right < left)
. È possibile usarlo per verificare se left
non è ordinato dopo right
quando le due code vengono confrontate in base all'elemento.
Esempio
// cliext_queue_operator_le.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
/ / display contents "a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] <= [a b c] is {0}",
c1 <= c1);
System::Console::WriteLine("[a b d] <= [a b c] is {0}",
c2 <= c1);
return (0);
}
a b c
a b d
[a b c] <= [a b c] is True
[a b d] <= [a b c] is False
operator==
(coda)
Queue
confronto uguale.
Sintassi
template<typename Value,
typename Container>
bool operator==(queue<Value, Container>% left,
queue<Value, Container>% right);
Parametri
left
Contenitore sinistro da confrontare.
right
Contenitore destro da confrontare.
Osservazioni:
La funzione dell'operatore restituisce true solo se le sequenze controllate da left
e right
hanno la stessa lunghezza e, per ogni posizione i
, left[i] == right[i]
. Viene usato per verificare se left
viene ordinato come right
quando le due code vengono confrontate in base all'elemento.
Esempio
// cliext_queue_operator_eq.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents "a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] == [a b c] is {0}",
c1 == c1);
System::Console::WriteLine("[a b c] == [a b d] is {0}",
c1 == c2);
return (0);
}
a b c
a b d
[a b c] == [a b c] is True
[a b c] == [a b d] is False
operator>
(coda)
Queue
maggiore del confronto.
Sintassi
template<typename Value,
typename Container>
bool operator>(queue<Value, Container>% left,
queue<Value, Container>% right);
Parametri
left
Contenitore sinistro da confrontare.
right
Contenitore destro da confrontare.
Osservazioni:
La funzione dell'operatore restituisce right < left
. Viene usato per verificare se left
viene ordinato dopo right
quando le due code vengono confrontate in base all'elemento.
Esempio
// cliext_queue_operator_gt.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents "a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] > [a b c] is {0}",
c1 > c1);
System::Console::WriteLine("[a b d] > [a b c] is {0}",
c2 > c1);
return (0);
}
a b c
a b d
[a b c] > [a b c] is False
[a b d] > [a b c] is True
operator>=
(coda)
Queue
confronto maggiore o uguale.
Sintassi
template<typename Value,
typename Container>
bool operator>=(queue<Value, Container>% left,
queue<Value, Container>% right);
Parametri
left
Contenitore sinistro da confrontare.
right
Contenitore destro da confrontare.
Osservazioni:
La funzione dell'operatore restituisce !(left < right)
. Viene usato per verificare se left
non è ordinato prima right
di quando le due code vengono confrontate in base all'elemento.
Esempio
// cliext_queue_operator_ge.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents "a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] >= [a b c] is {0}",
c1 >= c1);
System::Console::WriteLine("[a b c] >= [a b d] is {0}",
c1 >= c2);
return (0);
}
a b c
a b d
[a b c] >= [a b c] is True
[a b c] >= [a b d] is False