在运行时固定大小的数组

时间:2018-12-11 11:13:38

标签: c++ arrays stl containers

我知道我可以使用std::array<Type, Size>来拥有Type类型和大小的数组,该数组在编译时是固定的。

此外,如果大小不是在编译时固定的,而是在运行时指定的,则可以使用std::vector

是否有一个std容器,可以在运行时将其设置为特定大小,并且此大小不可更改?我的意图是在创建此容器后更改大小,以获取编译错误。

当然,可以使用指针将其与旧式数组一起存档。但是,这还具有必须将指针和长度传递给函数的缺点?

1 个答案:

答案 0 :(得分:4)

  

是否有一个std容器,可以在运行时将其设置为特定大小,并且此大小不可更改?

否,还没有提供这种功能的标准容器。

您可以使用固定大小为std::vector写一个简单的包装器类,如此处答案中所建议的: