可变长度数组C++包装容器
Variable Length Array C++ Wrapper Container
是否有
动态变体boost::array
可以在内部使用 C99 的可变长度数组 (VLA) (GCC) 并以其他方式基于堆?
boost::array
基于模板参数工作。模板参数不能是运行时值。所以没有。
此外,VLA 仅适用于在堆栈上声明的数组 ( ObjType val[someInteger];
)。它们不适用于在对象(struct ObjType { int val[someInteger]; };
中声明的数组。因此,即使模板参数可以是运行时值,它也无济于事。
如果您负担不起堆分配,只需使用带有分配器的std::vector
,该分配器从预分配的内存"堆栈"中提取。
相关文章:
- 如何在c++17中制作一个模板包装器/装饰器
- std::vector的包装器,使数组的结构看起来像结构的数组
- 如何在c++迭代器类型中包装std::chrono
- 是否可以用"iostream"包装现有的TCP/OOpenSSL会话
- 用pybind11包装C++抽象类时出错
- 为左值和右值的包装器实现C++范围
- C结构,其指针将被包装在unique_ptr中
- 如何包装第三方DLL在R中使用
- 在类型和包装器之间reinterpret_cast是否安全<Type>?
- 将 N-arg 函数包装到另一个函数中
- 元组由 Swig 生成的 Python 包装器返回,用于C++向量
- 包装一个对象并假装它是一个 int
- 使用 Python Extension API 包装复杂C++类
- 外壳包装器句柄/执行交互式命令管道C++ UNIX
- 包装C++类时不完整的类型 GLFWwindow
- 将函数包装器转换为 std::function
- C++函数包装器来捕获某些信号
- 创建包装升压适配器的自定义范围类
- 如何包装(撰写)增强 hana 地图并访问括号运算符(运算符 [])?
- 使用运算符*重载包装矩阵乘法