Condividi tramite


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:

  1. integer

  2. classe di interfaccia^

  3. classe di riferimento pubblica^

  4. value struct

  5. 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++