Nonostante, questo post spiegherà come sostituire un vettore di letterali a stringa, con una serie di letterali. Questo post spiegherà anche i diversi modi in cui il vettore C ++ può essere aumentato di lunghezza. La lunghezza di un vettore in C ++ è chiamata dimensione.
Il vettore ha funzioni dei membri. Le sue dimensioni possono essere aumentate utilizzando le funzioni del membro: Ridimeni (), Insert (), EMPlace () e Push_back (). Questo articolo spiega i diversi modi in cui il vettore può essere ampliato, cioè di dimensioni aumentate; e nel caso del vettore dei letterali di stringa, sostituiti da tutti i letterali delle stringhe.
La codifica vettoriale all'interno del corpo funzione principale (), a meno che non vi sia una buona ragione per farlo prima del corpo di funzione principale (). Non dimenticare di iniziare il programma con:
#includereContenuto dell'articolo
Vettore di stringhe a una stringa
Un vettore di letterali a stringa può essere sostituito da una stringa di letterali. I letterali saranno separati dalle virgole nell'unica stringa. Il seguente codice illustra questo:
vectorvtr = "Toyota", "Mitsubishi", "Ford", "Mercedes", "Jeep";che è una corda lunga. Una stringa di array e una stringa letterale in doppie citazioni, sono fondamentalmente la stessa cosa, che terminano in '\ 0'; Sebbene il finale per la stringa a doppia citazione letterale sia implicito. L'ultima stringa lunga ha solo una '\ 0' alla fine della sequenza dei caratteri. Il codice può ancora essere modificato per rimuovere l'ultima virgola e spazio.
Aumentare le dimensioni del vettore
Ridimensionamento
La funzione membro size () può essere utilizzata per restituire la dimensione () di un vettore come mostra il seguente codice:
vectorvtr 'f', 'g', 'h', 'i', 'j';Per aumentare le dimensioni di un vettore, il vettore dovrebbe essere ridimensionato in un numero maggiore. Il seguente codice lo fa usando la funzione membro, Ridimension (size_type sz):
vectorvtr 'f', 'g', 'h', 'i', 'j';Quando un vettore viene appena ridimensionato con la funzione membro Ridimensize (), sono disponibili nuove posizioni vuote verso la fine del vettore. Queste nuove posizioni possono quindi essere riempite.
void Riassie (size_type sz, const T&C)Lo stesso valore può essere aggiunto alle nuove posizioni verso la fine del vettore usando questo metodo sovraccarico di ridimensionamento (). Illustrazione:
vectorvtr 'f', 'g', 'h', 'i', 'j';Inserimento
L'inserimento avviene davanti all'elemento puntato dall'iteratore.
INSERT (POSIZIONE COST_ITERATOR, CONST T & X)Il seguente codice mostra come viene utilizzata questa funzione:
vectorvtr 'f', 'g', 'h', 'i', 'j';'Z' è stato inserito di fronte a H. La funzione membro Begin () restituisce un iteratore che indica il primo elemento del vettore. L'iteratore può quindi essere incrementato nella posizione desiderata. Si noti che il secondo argomento previsto per insert () qui è un identificatore.
Iteratore Insert (COST_Iterator Posizione, T && X)Il seguente codice mostra come viene utilizzata questa funzione:
vectorvtr 'f', 'g', 'h', 'i', 'j';'Z' è stato inserito di fronte a H. La funzione membro Begin () restituisce un iteratore che indica il primo elemento del vettore. Si noti che il secondo argomento previsto per insert () qui è un letterale.
Iteratore Insert (Posizione const_iterator, size_type n, const t & x)Lo stesso valore può essere inserito più di una volta. Il seguente codice illustra questo:
vectorvtr 'f', 'g', 'h', 'i', 'j';ITERATOR INSERT (POSIZIONE COST_ITERATOR, prima inputterator, inputterator)
È possibile inserire un intervallo da un altro vettore. Il seguente codice illustra questo:
vettoriale Altrovtr = 'k', 'l', 'm', 'n', 'o';Per l'altro vettore, l'intervallo è ottenuto come segue: La funzione membro Begin () restituisce un iteratore che indica il suo primo elemento. Questo iteratore, sono stato incrementato per indicare l'elemento successivo. La funzione membro end () restituisce un iteratore che punta subito dopo l'ultimo elemento. Questo iteratore, J è stato decrementato due volte sottraendo 2 da esso, e poi ha indicato l'elemento, 'n'.
A questo punto, la gamma immaginata è:
'L', 'm', 'n'Tuttavia, con C ++, l'ultimo elemento in un intervallo non sarà coinvolto (inserito). Quindi, viene inserito solo "'l', 'm'".
ITERATOR INSERT (POSIZIONE COST_ITERATOR, Initializer_ListÈ possibile inserire un elenco letterale vettoriale. Il seguente codice illustra questo:
vectorvtr 'f', 'g', 'h', 'i', 'j';EMPIPACHI
L'uso di eMplace () è simile all'uso di insert () e molti programmatori preferiscono inserire ().
EMPLIOT INTRO
Per il seguente codice, "Z" è collocato all'interno dei valori, "f", "g", "h", "i", "j":
vectorvtr 'f', 'g', 'h', 'i', 'j';EMPIPACHI davanti
Per il seguente codice, "Z" è collocato davanti ai valori, "f", "g", "h", "i", "j":
vectorvtr 'f', 'g', 'h', 'i', 'j';Respingere
La funzione membro push_back () può essere utilizzata per aggiungere un elemento. Il seguente codice illustra questo:
vectorvtr 'f', 'g', 'h', 'i', 'j';Un elemento può anche essere aggiunto utilizzando la funzione membro EMEMPLET_BACK (). Il seguente codice illustra questo:
vectorvtr 'f', 'g', 'h', 'i', 'j';Conoscere la lunghezza di un vettore
La dimensione di un vettore significa il numero di elementi nel vettore. Questo può essere ottenuto utilizzando la funzione membro size (). Il seguente programma illustra questo:
#includereL'output è 6.
Capacità di un vettore
La capacità di un vettore non deve essere confusa con le dimensioni del vettore. Quando un vettore viene manipolato e aumentato, le posizioni dei suoi elementi nella memoria del computer vengono modificate (riallocata). La capacità di un vettore è il numero totale di elementi che il vettore può contenere senza richiedere riallocazione. Difende con la dimensione iniziale del vettore. Il seguente programma lo illustra per un vettore vuoto e per un vettore di 5 elementi:
#includereL'output è:
0Reservi lo spazio per il vettore
vuoto Riserva (size_type n)Lo spazio vettoriale può essere riservato con questa funzione. Il seguente programma si riserva uno spazio di 5 elementi:
#includereL'output è:
Nuova capacità: 5Gli spazi riservati includono quelli per gli elementi iniziali. Il fatto che 5 spazi fossero riservati, non significa che un elemento non possa essere aggiunto oltre 5 elementi.
Conclusione
"Espandere un vettore" non è una frase classica in C++. Tuttavia, se "espandere un vettore" significa, aumentando la lunghezza di un vettore, allora sì, un vettore può essere ampliato. In C ++ la lunghezza di un vettore o di qualsiasi contenitore C ++, è chiamata dimensione. Il vettore può essere ampliato con le seguenti funzioni del membro: ridimension (), insert (), emplace () e push_back (). Altre funzioni dei membri correlate sono: dimensione (), capacità () e riserva (). In molti programmi C ++, un vettore sarebbe aumentato e diminuirà diverse volte. Un vettore può essere ridotto, usando la funzione del membro della cancellazione - vedi più avanti. Se un vettore è costituito da letterali di stringa, allora il vettore può essere sostituito da una lunga corda costituita dai letterali delle stringhe.