2010-06-04 5 views
0

J'essaie d'utiliser la bibliothèque de statistiques de faux (trouvée ici: http://scythe.wustl.edu/). Je peux initialiser une matrice très bien avec:Tableau dynamique C++ des matrices (de la bibliothèque statistique de Scythe)

Matrix<double> A(2, 2, false); 

Mais je voudrais avoir un tableau dynamique de telles matrices. Quelqu'un at-il des indices? Est-ce que j'utilise un vecteur? Si c'est le cas, comment?

Merci beaucoup!

+0

Oui, utilisez un vecteur. En supposant bien sûr que Matrix <> répond aux exigences (assignable, copiable, etc.) –

Répondre

5

Un std::vector serait un excellent choix, surtout si vous ne savez pas jusqu'à l'exécution combien de matrices vous avez besoin. Par exemple,

std::vector<Matrix<double> > vectorOfMatrices; 

vectorOfMatrices.push_back(Matrix<double>(2, 2, false)); 
// etc. 
+0

yep. C'est parfait. Comme vous pouvez le dire, je suis un peu un newb. Merci beaucoup! – TJB

0

Il existe deux classes adaptées à votre tâche:

a) std :: vector - stocke les objets dans un tableau, est accessible via l'index ainsi que iterator. Bon pour les opérations d'accès aléatoire. B) std :: list - stocke les objets sous la forme d'une liste liée, accessible via des itérateurs. Bon pour un accès séquentiel uniquement et des modifications fréquentes. Donc, si vous voulez juste un tableau de taille fixe ou changeant rarement, optez pour std :: vector. Cependant, si vous savez que ceux-ci vont changer assez souvent, et que vous vous en tenez généralement au mot d'ordre, std :: list est une meilleure alternative.

+0

je vous remercie pour votre réponse. – TJB

Questions connexes