Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vector de vector

2 réponses
Avatar
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

2 réponses

Avatar
Sylvain Togni

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

Avatar
Bruno Causse
"Sylvain Togni" <"sylvain.togni at visionobjects.com"> a écrit dans le
message de news: 482c581f$0$21144$


merci