gcc 4.9现在支持n3696(具有自动存储持续时间的运行时大小的数组).n3662说:
在具有自动存储持续时间的N3497运行时大小的数组中,Jens Maurer建议使用运行时绑定的数组.这些数组是std :: dynarray,因为普通的固定大小数组是std :: array.
在这个邮件列表中,Jonathan Wakely说:
我们应该在手册中添加一个C++ 14状态表,但同时这里是库状态的快速摘要.
...
缺少这些:
N3672添加实用程序类以表示可选对象的提议
N3655 TransformationTraits Redux
N3662 C++动态数组
N3644空前向迭代器
特征一个很简单,但有点乏味,迭代器可能只影响调试模式,但其他两个是重要的工作.是否有人打算继续工作?
但是,n3662还说:
我们建议为数组定义一个新的工具,而不是采用C可变长度数组,其中元素的数量在构造时被绑定.我们将这些动态数组称为dynarray.
我似乎无法dynarray
在gcc
页面上使用快速CTRL + F. 所以dynarray
即将实施,并将variable length arrays
留下或将消失?
std::dynarray
本来打算用c ++ 14.然而,后来决定std::dynarray
将其转移到"阵列TS",其中也可能包括某些std::array_view
类.主要原因是委员会在某些情况下没有就堆分配与堆栈分配的某些观点达成一致(如果你试图分配一个std::dynarray
,那会怎样new
).因此,决定推迟.关于应该做什么,仍然有一些正在进行的讨论.
该类将不适用于C++ 14.它可能会带有Arrays TS或C++ 17.
更新: std::dynarray
不是在C++ 14中,不在C++ 17中,Arrays TS已经停止使用,因此std::dynarray
标准不久可能不会有任何接近.如果我正确理解标准的当前位置,而不是神奇的运行时大小的数组,委员会宁愿为运行时大小的类提出一个通用的解决方案,但到目前为止的每个 建议都被拒绝了.