alloc структура с массивом нулевой длины с использованием new

В C (используя gcc) я могу объявить структуру переменной длины, как показано ниже:

typedef struct ProtocolFrame
{
     uint8_t      op;
     uint32_t     address;
     uint16_t     size;
     uint8_t      payload[0];
} ProtocolFrame;

тогда я могу выделить другой кадр:

ProtocolFrame *frA;
ProtocolFrame *frB;

frA = malloc(sizeof(ProtocolFrame) + 50);
frB = malloc(sizeof(ProtocolFrame));

В этом примере frA имеет поле полезной нагрузки размером 50 байтов, и frB не имеет полезной нагрузки

Могу ли я сделать то же самое на C ++ с помощью оператора new?

5
задан BЈовић 9 December 2011 в 21:56
поделиться