Je suppose que les templates dynamiques n'existent pas..
Je voudrais faire quelque chose comme ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| template <int keysize>
struct MaClasse
{
long s_offset,s_length;
char s_key[keysize];
};
void foo(int keysize)
{
MaClasse<keysize> *p=new MaClasse<keysize>();
...
} |
Je rêve de pouvoir déclarer des structures dont la taille serait définie au runtime et non à la compilation.
On peut le gérer soi-même mais c'est un peu casse-gueule:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| struct MaClasse
{
long s_offset,s_length;
//char s_key[...];
};
void foo(int keysize)
{
char *t_ptr=new char[sizeof(MaClasse)+keysize];
MaClasse *p=new(t_ptr) MaClasse();
...
p->s_offset=0;
p->s_length=327
strcpy((char *)(p+1),"abcdef");
} |
Une aide du langage serait bienvenue.