std:vector<char[30]>有效,或者如何实现这一点?(固定大小数组的向量?

is std:vector<char[30]> valid, or how to achieve this? (vector of fixed sized array?)

本文关键字:这一点 实现 向量 数组 小数 char lt vector 或者 std 有效      更新时间:2023-10-16

我想有一个二维数组与一维固定的概念。

类似于长度为30的字符数组的增长列表。

我可以做一些像向量这是有效的吗,或者有没有办法实现这个

不:存储在vector(或任何其他标准库容器)中的类型必须既可复制又可赋值。数组两者都不是。

您可以(并且应该)使用std::array(或者,如果您的实现不支持boost::array)。array类模板为普通数组提供了一个非常轻量级的容器式包装器;在大多数情况下,它可以像普通数组一样使用,并且开销为零(在良好的实现和打开编译器优化的情况下)。

当你可以使用array类模板时,真的没有理由使用普通的数组(比如char[30])。

std::vector of std::array听起来是个更好的主意。

相关文章: