Tableaux C, classes et Templates
Bonjour,
Je suis capable de recuperer la taille d'un tableau C via des templates, mais en 3 étapes, j'aurai voulu savoir s'il etait possible de le faire en une seule... Voici mon code (qui compile et marche) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
// Un parametre
class Parametre
{
public:
int pname;
int param;
};
// Un ensemble de parametres
class Parametres
{
public:
std::vector<Parametre> params;
template<std::size_t N>
const Parametres& operator= (const Parametre (¶ms)[N])
{
for(const Parametre* i = params; i < params + N ; ++i)
{
this->params.push_back(*i);
}
return *this;
}
};
// Instanciation - etape1 :
Parametre p[] =
{
{5,2},
{1,2},
{3,4}
};
// Instanciation - etape2 :
Parametres params;
// Instanciation - etape3 :
params = p; // avec le p defini dans le bloc précédent |
Au final, je voudrais :
Code:
1 2 3 4 5
|
// Le top :
params = {{5,2},{1,2}};
// ou alors
Parametres params = p; |
Cela est-il réalisable ?
Merci d'avance pour vos réponses et conseils !
B