Je me demandais pourquoi cela fonctionne et si elle est vraiment risqué ou non ...boost :: multi_array contenant boost :: carré uBLAS :: matrice <double> de tailles différentes
Je veux que les éléments d'un boost :: multi_array tenir des boites boost :: ublas de différentes tailles (tailles définies à l'exécution). Dans l'en-tête j'ai défini typedef::boost::ublas::matrix<double> Matrix;
et typedef::boost::multi_array<Matrix,1> Tensor;
.
Maintenant en main(){}
je l'ai fait une Tensor tensor(boost::extents[some_number]);
puis « mémoire allouée » à elle en faisant:
for(int i=0; i<some_number; i++){
tensor[i] = Matrix(runtime_defined_number, runtime_defined_number);
}
Maintenant, je passe mes Tensor &tensor
autour de fonctions et faire des choses avec elle ...
Est-ce fou? Si oui, pourquoi cela fonctionne-t-il? Y a-t-il une meilleure façon de faire quelque chose comme ça?