2016-09-03 1 views
1

J'ai besoin d'un std::vector de dlib::matrix, mais je ne sais pas au moment de la compilation la taille de la matrice; documentation me dit:DLIB C++ comment faire un std :: vecteur de dlib :: matrice

// (Note that if you don't know the dimensionality of your vectors at compile time 
// you can change the 2 to a 0 and then set the size at runtime) 
typedef matrix<double,2,1> sample_type; 

ok, mais je besoin d'un std::vector de ces objets, alors quel argument modèle je dois mettre sur mon std::vector? exemple (get_dimensionality() me donne le droit dimensionanlity):

matrix<double,0,1> m; 
m.set_size(get_dimensionality(),1); 
std::vector<matrix<double,????????,1> v; 
v.push_back(m); 

quel numéro à ?????????

Répondre

2

Vous avez la réponse à votre question. Utilisez le vecteur

std::vector<matrix<double, 0, 1> v; 

afin que vous puissiez définir chaque taille d'élément comme il fonctionne, comme vous le faites avec les matrices elles-mêmes.

+0

mais si je redimensionne en retard ... c'est toujours compatible? exemple: v.at (0) .set_size (get_dimensionality(), 1); n'est plus , alors j'ai changé le type d'objet dans mon fichier std :: vector ... – volperossa