В одном проекте с открытым исходным кодом С++ я вижу это.
struct SomeClass {
...
size_t data_length;
char data[1];
...
}
Каковы преимущества этого, а не использование указателя?
struct SomeClass {
...
size_t data_length;
char* data;
...
}
Единственное, что я могу придумать, это версия массива размера 1, пользователи не должны видеть NULL. Есть ли что-нибудь еще?