在一个C++开源项目中,我看到了这一点.
struct SomeClass {
  ...
  size_t data_length;
  char data[1];
  ...
}
这样做有什么好处而不是使用指针?
struct SomeClass {
  ...
  size_t data_length;
  char* data;
  ...
}
我唯一能想到的是使用size 1数组版本,用户不会看到NULL.还有别的事吗?
为什么某些struct使用单个元素数组,如下所示:
typedef struct Bitmapset
{
 int nwords;
 uint32 words[1];
} Bitmapset;
为了方便后者的动态分配?