Classe Platform::Collections::Vector
Rappresenta una raccolta sequenziale di oggetti a cui è possibile accedere tramite indice. Implementa Windows::Foundation::Collections::IObservableVector per facilitare il data binding XAML.
Sintassi
template <typename T, typename E>
ref class Vector sealed;
Parametri
T
Tipo degli elementi contenuti nell'oggetto Vector.
E
Specifica un predicato binario per testare l'uguaglianza con i valori di tipo T. Il valore predefinito è std::equal_to<T>
.
Osservazioni:
I tipi consentiti sono:
integer
classe di interfaccia^
classe di riferimento pubblica^
value struct
classe enum pubblica
La classe Vector è l'implementazione concreta C++ dell'interfaccia Windows::Foundation::Collections::IVector .
Se si tenta di usare un tipo Vector in un valore restituito pubblico o un parametro, viene generato l'errore del compilatore C3986. È possibile correggere l'errore modificando il tipo di parametro o di valore restituito in Windows::Foundation::Collections::IVector. Per ulteriori informazioni, vedi Raccolte (C++/CX).
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
Vector::Vector | Inizializza una nuova istanza della classe Vector. |
Metodi pubblici
Nome | Descrizione |
---|---|
Vector::Append | Inserisce l'elemento specificato dopo l'ultimo elemento nel vettore corrente. |
Vector::Clear | Elimina tutti gli elementi nell'oggetto Vector corrente. |
Vector::First | Restituisce un iteratore che specifica il primo elemento nell'oggetto Vector. |
Vector::GetAt | Recupera l'elemento dell'oggetto Vector corrente identificato dall'indice specificato. |
Vector::GetMany | Recupera una sequenza di elementi dall'oggetto Vector corrente, a partire dall'indice specificato. |
Vector::GetView | Restituisce una visualizzazione di sola lettura di un oggetto Vector, ovvero Platform::Collections::VectorView. |
Vector::IndexOf | Cerca l'elemento specificato nell'oggetto Vector corrente e, se lo trova, restituisce l'indice dell'elemento. |
Vector::InsertAt | Inserisce l'elemento specificato nel vettore corrente in corrispondenza dell'elemento identificato dall'indice specificato. |
Vector::ReplaceAll | Elimina gli elementi nell'oggetto Vector corrente, quindi li inserisce dalla matrice specificata. |
Vector::RemoveAt | Elimina l'elemento identificato dall'indice specificato dall'oggetto Vector corrente. |
Vector::RemoveAtEnd | Elimina l'elemento alla fine dell'oggetto Vector corrente. |
Vector::SetAt | Assegna il valore specificato all'elemento nell'oggetto Vector corrente che è identificato dall'indice specificato. |
Vector::Size | Restituisce il numero di elementi nell'oggetto Vector corrente. |
Eventi
Nome | Descrizione |
---|---|
evento Windows::Foundation::Collection::VectorChangedEventHandler<T>^ VectorChanged | Si verifica quando l'oggetto Vector subisce delle modifiche. |
Gerarchia di ereditarietà
Vector
Requisiti
Intestazione: collection.h
Spazio dei nomi: Platform::Collections
Metodo Vector::Append
Inserisce l'elemento specificato dopo l'ultimo elemento nel vettore corrente.
Sintassi
virtual void Append(T item);
Parametri
index
Elemento da inserire nel vettore. Il tipo di elemento è definito dal nometipo T .
Metodo Vector::Clear
Elimina tutti gli elementi nell'oggetto Vector corrente.
Sintassi
virtual void Clear();
Metodo Vector::First
Restituisce un iteratore che fa riferimento al primo elemento nell'oggetto Vector.
Sintassi
virtual Windows::Foundation::Collections::IIterator <T>^ First();
Valore restituito
Iteratore che fa riferimento al primo elemento in Vector.
Osservazioni:
Un modo pratico per contenere l'iteratore restituito da First() consiste nell'assegnare il valore restituito a una variabile dichiarata con la parola chiave di deduzione del auto
tipo. Ad esempio: auto x = myVector->First();
. Questo iteratore conosce la lunghezza della raccolta.
Quando è necessario passare una coppia di iteratori a una funzione STL, usare le funzioni gratuite Windows::Foundation::Collections::begin e Windows::Foundation::Collections::end
Metodo Vector::GetAt
Recupera l'elemento dell'oggetto Vector corrente identificato dall'indice specificato.
Sintassi
virtual T GetAt(unsigned int index);
Parametri
index
Intero senza segno in base zero che specifica un particolare elemento nell'oggetto Vector.
Valore restituito
Elemento specificato dal parametro index . Il tipo di elemento è definito dal nometipo T .
Metodo Vector::GetMany
Recupera una sequenza di elementi dall'oggetto Vector corrente, a partire dall'indice specificato e li copia nella matrice allocata dal chiamante.
Sintassi
virtual unsigned int GetMany(
unsigned int startIndex,
Platform::WriteOnlyArray<T>^ dest);
Parametri
startIndex
Indice a base zero dell'inizio degli elementi da recuperare.
dest
Matrice allocata dal chiamante di elementi che iniziano in corrispondenza dell'elemento specificato da startIndex e terminano all'ultimo elemento in Vector.
Valore restituito
Numero di elementi recuperati.
Osservazioni:
Questa funzione non deve essere usata direttamente dal codice client. Viene usato internamente nella funzione to_vector per abilitare una conversione efficiente delle istanze Platform::Vector in istanze std::vector.
Metodo Vector::GetView
Restituisce una visualizzazione di sola lettura di un oggetto Vector, ovvero un oggetto IVectorView.
Sintassi
Windows::Foundation::Collections::IVectorView<T>^ GetView();
Valore restituito
Oggetto IVectorView.
Metodo Vector::IndexOf
Cerca l'elemento specificato nell'oggetto Vector corrente e, se lo trova, restituisce l'indice dell'elemento.
Sintassi
virtual bool IndexOf(T value, unsigned int* index);
Parametri
value
Elemento da cercare.
index
Indice in base zero dell'elemento se viene trovato il valore del parametro; in caso contrario, 0.
Il parametro di indice è 0 se l'elemento è il primo elemento di Vector o l'elemento non è stato trovato. Se il valore restituito è true
, l'elemento è stato trovato ed è il primo elemento; in caso contrario, l'elemento non è stato trovato.
Valore restituito
true
se viene trovato l'elemento specificato; in caso contrario, false
.
Osservazioni:
IndexOf usa std::find_if per trovare l'elemento. I tipi di elemento personalizzati dovrebbero quindi essere in rapporto di overload con l'operatore == e != in modo da abilitare i confronti di eguaglianza necessari per find_if.
Metodo Vector::InsertAt
Inserisce l'elemento specificato nel vettore corrente in corrispondenza dell'elemento identificato dall'indice specificato.
Sintassi
virtual void InsertAt(unsigned int index, T item)
Parametri
index
Intero senza segno in base zero che specifica un particolare elemento nell'oggetto Vector.
item
Elemento da inserire nell'oggetto Vector in corrispondenza dell'elemento specificato dall'indice. Il tipo di elemento è definito dal nometipo T .
Metodo Vector::RemoveAt
Elimina l'elemento identificato dall'indice specificato dall'oggetto Vector corrente.
Sintassi
virtual void RemoveAt(unsigned int index);
Parametri
index
Intero senza segno in base zero che specifica un particolare elemento nell'oggetto Vector.
Metodo Vector::RemoveAtEnd
Elimina l'elemento alla fine dell'oggetto Vector corrente.
Sintassi
virtual void RemoveAtEnd();
Metodo Vector::ReplaceAll
Elimina gli elementi nell'oggetto Vector corrente, quindi li inserisce dalla matrice specificata.
Sintassi
virtual void ReplaceAll(const ::Platform::Array<T>^ arr);
Parametri
Arr
Matrice di oggetti il cui tipo è definito dal nometipo T .
Metodo Vector::SetAt
Assegna il valore specificato all'elemento nell'oggetto Vector corrente che è identificato dall'indice specificato.
Sintassi
virtual void SetAt(unsigned int index, T item);
Parametri
index
Intero senza segno in base zero che specifica un particolare elemento nell'oggetto Vector.
item
Valore da assegnare all'elemento specificato. Il tipo di elemento è definito dal nometipo T .
Metodo Vector::Size
Restituisce il numero di elementi nell'oggetto Vector corrente.
Sintassi
virtual property unsigned int Size;
Valore restituito
Numero di elementi nell'oggetto Vector corrente.
Costruttore Vector::Vector
Inizializza una nuova istanza della classe Vector.
Sintassi
Vector();
explicit Vector(unsigned int size);
Vector( unsigned int size, T value);
template <typename U> explicit Vector( const ::std::vector<U>& v);
template <typename U> explicit Vector( std::vector<U>&& v);
Vector( const T * ptr, unsigned int size);
template <size_t N> explicit Vector(const T(&arr)[N]);
template <size_t N> explicit Vector(const std::array<T, N>& a);
explicit Vector(const Array<T>^ arr);
template <typename InIt> Vector(InIt first, InIt last);
Vector(std::initializer_list<T> il);
Parametri
a
Std ::array che verrà usato per inizializzare vector.
Arr
Platform ::Array che verrà usato per inizializzare il vettore.
Init
Tipo di una raccolta di oggetti utilizzati per inizializzare l'oggetto Vector corrente.
il
Std ::initializer_list di oggetti di tipo T che verranno usati per inizializzare Vector.
N
Numero di elementi in una raccolta di oggetti utilizzati per inizializzare l'oggetto Vector corrente.
size
Numero di elementi nell'oggetto Vector.
value
Valore utilizzato per inizializzare ciascun elemento nell'oggetto Vector corrente.
v
Valore Lvalues e Rvalues a std ::vector usato per inizializzare il vettore corrente.
ptr
Puntatore a std::vector
utilizzato per inizializzare l'oggetto Vector corrente.
first
Primo elemento di una sequenza di oggetti utilizzati per inizializzare l'oggetto Vector corrente. Il tipo di primo viene passato tramite l'inoltro perfetto. Per altre informazioni, vedere Dichiaratore di riferimento rvalue: &&.
last
Ultimo elemento di una sequenza di oggetti utilizzati per inizializzare l'oggetto Vector corrente. Il tipo di ultimo viene passato per mezzo di inoltro perfetto. Per altre informazioni, vedere Dichiaratore di riferimento rvalue: &&.
Vedi anche
Raccolte (C++/CX)
Spazio dei nomi della piattaforma
Creazione di componenti Windows Runtime in C++