I want to use a special method to initialize a std::vector<unsigned int>
which is described in a C++ book I use as a reference (the German book 'Der C++ Programmer' by Ulrich Breymann, in case that matters). In that book is a section on sequence types of the STL, referring in particular to list
, vector
and deque
. In this section he writes that there are two special constructors of such sequence types, namely, if X
refers to such a type,
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)
I want to use the second one for an interval of unsigned int
, that is
std::vector<unsigned int> l(1U, 10U);
to get a list initialized with {1,2,...,9}
. What I get, however, is a vector with one unsigned int
with value 10 :-| Does the second variant exist, and if yes, how do I force that it is called?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…