On Sep 26, 3:36 pm, "Andrew Koenig" <a...@acm.orgwrote:
Quote:
|
"Baby Lion" <BabyLion.Li...@gmail.comwrote in message
|
Quote:
|
news:1190792684.579511.266060@d55g2000hsg.googlegr oups.com...
|
Quote:
Quote:
list<intCurve;
vector<Curvea;
a.reserve(10);
then how should I initialize the list in the vector before
a[0].push_back(123) ?
| |
Quote:
|
No need: When you executed
|
Quote:
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ée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34