2015-06-23 17 views

risposta

27

Dipende cosa si vuole fare.

Fare un vettore di lunghezza 5, piena di quelle:

std::vector<int> vec(5, 1); 

Grow un vettore da 5 e riempirlo con quelli:

std::vector<int> vec; 
// ... 
vec.insert(vec.end(), 5, 1); 

o ridimensionare esso (se si conosce la dimensione iniziale):

std::vector<int> vec(0); 
vec.resize(5, 1); 

Si può anche riempire con elementi utilizzando una delle tante versioni di fill, ad esempio :

fill_n(back_inserter(vec), 5, 1); 

e così via .... Leggendo la documentazione della libreria, alcune di queste funzioni restituiscono anche informazioni utili.

7

si può semplicemente utilizzare il costruttore std::vector per questo:

std::vector<int> vec (5,1); 

La firma di questo è:

vector (size_type n, const value_type& val) 

Il algorithm intestazione standard ha una serie di funzioni che possono essere utilizzate in casi come Questo. std::fill_n avrebbe funzionato per il vostro caso .:

std::fill_n (std::back_inserter(vec), 5, 1); 
2

È possibile utilizzare il metodo di assegnazione:

vec.assign(5, 1); 

Questo cancellerà tutti gli elementi esistenti nel vettore prima di aggiungere i nuovi.

6

Basta usare std::vector::insert.

#include <vector> 
#include <iostream> 

int main() 
{ 
    std::vector<int> a; 
    a.insert(a.end(), 5, 1); 
    for(auto const& e : a) 
     std::cout << e << std::endl; 
    return 0; 
} 
Problemi correlati