vector de vector

Le
Bruno Causse
bonsoir,

si je cree un vector de vector d'objet

class A;

/

std::vector< std::vector<A> > tabA;
//remplissage

je n'ai pas a me soucier de la liberation de tabA (la class A possede bien
son destructeur)

ps: quel est la meilleur facon (ecriture) pour creer un tabA[x][y]; sachant
que A prend obligatoirement un parametre (pas de constructeur par defaut)

j'utilise
//allocation creation

std::vector < std::vector<RXSplit_point> > SplitPointStack;

for(int thread_id = 0; thread_id < MaxNumOfThreads; thread_id++) {

std::vector<RXSplit_point> tmp(MaxActiveSplitPoints);

SplitPointStack.push_back(tmp);

for(int ActiveSplitPoint_id = 0; ActiveSplitPoint_id < MaxActiveSplitPoints;
ActiveSplitPoint_id++)

SplitPointStack[thread_id].push_back( RXSplit_Point(MaxNumOfThreads) );

}

merci
--
Bruno Causse
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sylvain Togni
Le #6632511

je n'ai pas a me soucier de la liberation de tabA (la class A possede bien
son destructeur)


Tout à fait. La classe vecteur, comme toutes les classes normalement
constituées, possède un destructeur qui s'occupe de faire
automatiquement le ménage. Le fait que ce soit un vecteur de vecteur
ne change rien.

ps: quel est la meilleur facon (ecriture) pour creer un tabA[x][y]; sachant
que A prend obligatoirement un parametre (pas de constructeur par defaut)

j'utilise
//allocation creation

std::vector < std::vector<RXSplit_point> > SplitPointStack;

for(int thread_id = 0; thread_id < MaxNumOfThreads; thread_id++) {

std::vector<RXSplit_point> tmp(MaxActiveSplitPoints);

SplitPointStack.push_back(tmp);

for(int ActiveSplitPoint_id = 0; ActiveSplitPoint_id < MaxActiveSplitPoints;
ActiveSplitPoint_id++)

SplitPointStack[thread_id].push_back( RXSplit_Point(MaxNumOfThreads) );


À priori ceci devrait être équivalent :

std::vector< std::vector<RXSplit_point> > SplitPointStack(
MaxNumOfThreads,
std::vector<RXSplit_point>(
MaxActiveSplitPoints,
RXSplit_Point(MaxNumOfThreads)));

--
Sylvain Togni

Bruno Causse
Le #6632501
"Sylvain Togni" message de news: 482c581f$0$21144$


merci
Publicité
Poster une réponse
Anonyme