Re: how to initialize list in a vector
On Sep 26, 3:36 pm, "Andrew Koenig" <a...@acm.org> wrote:
"Baby Lion" <BabyLion.Li...@gmail.com> wrote in message
news:1190792684.579511.266060@d55g2000hsg.googlegroups.com...
list<int> Curve;
vector<Curve> a;
a.reserve(10);
then how should I initialize the list in the vector before
a[0].push_back(123) ?
No need: When you executed
a.reserve(10);
you caused a to have 10 elements, each of which is a vector with no
elements.
Now Andy, you know better than that. He needs a.resize(10) for
that.
Also, of course, his code shouldn't compile, since Curve is a
variable, not a type. He probably needs a typedef in the line
declaring Curve, but I'm not sure. I'm not at all sure what
he's really trying to do, but maybe something like:
typedef std::list< int > Curve ;
std::vector< Curve > a( 10 ) ;
is what he's looking for. Or maybe something more like:
typedef std::list< int > Curve ;
std::vector< Curve > a ;
if ( i >= a.size() ) {
a.resize( i + 1 ) ;
}
a[ i ].push_back( 42 ) ;
, if he doesn't know the actual size in advance.
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34