C++ 2011 : Initialisation d'un tableau avec une fonction constexpr ?
Bonjour.
Sauriez vous s'il existe un moyen (et si oui quel est-il) d'initialiser un tableau constant avec une fonction constexpr.
Voici un petit exemple pour illustrer mon problème :
Code:
1 2 3 4 5 6 7 8 9
| template<unsigned int DIM> const unsigned int MyClass<DIM>::_myVar[2][3] = {
{metaFunction(0, 0, DIM), metaFunction(0, 1, DIM), metaFunction(0, 2, DIM)},
{metaFunction(1, 0, DIM), metaFunction(1, 1, DIM), metaFunction(1, 2, DIM)}
};
template<unsigned int DIM> inline constexpr unsigned int MyClass<DIM>::metaFunction(const unsigned int k, const unsigned int n, const unsigned int dim)
{
return (((n < dim) && (k < n)) ? (1<<(n-k)) : (0));
} |
Actuellement _myVar est initialisée "manuellement" via metaFunction. Y'aurait-il un moyen de faire cela automatiquement (si myVar était un tableau de 9 par 10 c'est déjà plus problématique par exemple) ? Si oui que donnerait cet exemple avec la bonne syntaxe ?
Merci beaucoup ;)