Comprendre les paramètres multiples de boost
-
12-11-2019 - |
Question
C'est du Boost Docs et compile sans problème.
#include "boost/multi_array.hpp"
int main () {
// Create a 3D array that is 3 x 4 x 2
typedef boost::multi_array<double,3> array_type;
typedef array_type::index index;
array_type A(boost::extents[3][4][2]);
return 0;
}
Ma question est: quel est le deuxième paramètre de modèle? Ce n'est pas clair pour moi de la documentation. Ce code ne compilera que s'il est défini sur 3
.
La solution
C'est combien de dimensions vous avez besoin.
boost::extents[3][4][2] // we use 3 dimensions
Donc, si vous modifiez ce numéro, vous devrez changer cette ligne.
Autres conseils
C'est la «dimension numérique» --- c'est-à-dire le nombre de dimensions de votre tableau: trois parce que vous avez trois indices sur votre boost::extents
.
C'est le nombre de dimensions du tableau:
Vous avez changé en conséquence l'appel ctor:
array_type A(boost::extents[3][4]);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow