gpt4 book ai didi

c++ - 可变长度数组 C++ 包装器容器

转载 作者:行者123 更新时间:2023-11-30 04:28:31 25 4
gpt4 key购买 nike

是否有 boost::array动态变体,它在可用时在内部使用 C99 的可变长度数组 (VLA) (GCC) 和基于堆否则?

最佳答案

boost::array 基于模板参数工作。模板参数不能是运行时值。所以没有。

此外,VLA 仅适用于在堆栈上声明的数组 (ObjType val[someInteger];)。它们不适用于在 对象中声明的数组 (struct ObjType { int val[someInteger]; };。因此,即使模板参数可以是运行时值,它也不会'帮助你。

如果您负担不起堆分配,只需将 std::vector 与从预分配内存“堆栈”中拉出的分配器一起使用即可。

关于c++ - 可变长度数组 C++ 包装器容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10076256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com