Вы можете определить размер массива в списке инициализатора класса - PullRequest
0 голосов
/ 11 мая 2018

это вообще возможно разумным способом без хаков определить размер массива объектов в классе, не делая размер массива статическим. например.

class Byte_Buffer
{
    Byte_Buffer(uint16_t bs) : buf_size(bs) {}

    const uint16_t buf_size;

    uint8_t storage[ buf_size ]; 
}; 

1 Ответ

0 голосов
/ 11 мая 2018

template // вы даже можете установить здесь значение по умолчанию C ++ '11

класс MyClass {
массив int [ARRAY_LEN]; // Не нужно размещать или освобождать в структуре! Работает так, как вы себе представляете!
}

// Затем вы устанавливаете длину каждого объекта, где вы объявляете объект, например,

MyClass <1024> экземпляр; // Но работает только для постоянных значений, т.е. известно компилятору

...