Desidero utilizzare un metodo speciale per inizializzare uno std::vector<unsigned int>
che è descritto in un libro C++ che uso come riferimento (il libro tedesco 'Der C++ Programmatore 'di Ulrich Breymann, nel caso ciò che conta). In quel libro c'è una sezione sui tipi di sequenza dell'STL, facendo riferimento in particolare a list
, vector
e deque
. In questa sezione scrive che ci sono due costruttori particolari di tali tipi sequenza, vale a dire, se X
si riferisce ad un tale tipo,Inizializzazione di std :: vector <unsigned int> con un elenco di interi consecutivi senza segno
X(n, t) // creates a sequence with n copies of t
X(i, j) // creates a sequence from the elements of the interval [i, j)
voglio usare la seconda per un intervallo di unsigned int
, cioè
std::vector<unsigned int> l(1U, 10U);
per ottenere una lista inizializzata con {1,2,...,9}
. Quello che ottengo, tuttavia, è un vettore con uno unsigned int
con valore 10: - | Esiste la seconda variante, e se sì, come faccio a forzare che sia chiamato?
grazie, funziona come desiderato! Il libro è un po 'non specifico rispetto a quel particolare costruttore, ma in seguito le lettere i, j sono infatti usate esplicitamente per gli iteratori. Th. – Thomas