变长结构体的临时笔记
1. 利用1数组
struct ValLen1
{
int a;
char valLen[1];
};
缺点:没有数据时浪费1个空间。
2. 利用0数组
struct ValLen2
{
int a;
char valLen[0];
};
缺点:gcc扩展,非通用。
3. 利用空数组
struct ValLen3
{
int a;
char valLen[];
};
缺点:未发现。
4.利用函数
class ValLen4
{
public:
int a;
void* valLen(){return (void*)(this+1);}
};
缺点:相对麻烦。
浙公网安备 33010602011771号