是否可以在不使用 hack 的情况下以合理的方式定义类中对象数组的大小而不使数组大小为静态。例如。
class Byte_Buffer
{
Byte_Buffer(uint16_t bs) : buf_size(bs) {}
const uint16_t buf_size;
uint8_t storage[ buf_size ];
};
最佳答案
template < int ARRAY_LEN >//你甚至可以在此处设置为 C++'11 的默认值
类我的类
{
int array[ARRAY_LEN];//不需要在结构中分配或释放!像您想象的那样工作!
//然后在声明对象的地方设置每个对象的长度,例如
MyClass<1024>实例;//但只适用于常数值,即编译器已知的值
关于c++ - 你能在类初始化列表中定义数组大小吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50290255/