Je voudrais faire quelque chose comme ceci:Je rêve de pouvoir déclarer des structures dont la taille serait définie au runtime et non à la compilation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>(); ... }
On peut le gérer soi-même mais c'est un peu casse-gueule:Une aide du langage serait bienvenue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"); }
Partager