Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 运行时具有固定大小的数组_C++_Arrays_Stl_Containers - Fatal编程技术网

C++ 运行时具有固定大小的数组

C++ 运行时具有固定大小的数组,c++,arrays,stl,containers,C++,Arrays,Stl,Containers,我知道我可以使用std::array来获得类型为type的数组和大小,这在编译时是固定的 此外,如果大小在编译时不是固定的,而是在运行时给定的,则可以使用std::vector 是否有一个std容器,它可以在运行时设置为某个大小,并且这个大小是不可更改的?我的目的是得到一个编译错误,如果大小在创建这个容器后被改变 当然,这可以使用指针与旧式数组一起存档。然而,这也带来了必须将指针和长度传递给函数的缺点 是否有一个std容器,它可以在运行时设置为某个大小,并且这个大小是不可更改的 不,目前还没有提

我知道我可以使用
std::array
来获得类型为
type
的数组和大小,这在编译时是固定的

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

是否有一个std容器,它可以在运行时设置为某个大小,并且这个大小是不可更改的?我的目的是得到一个编译错误,如果大小在创建这个容器后被改变

当然,这可以使用指针与旧式数组一起存档。然而,这也带来了必须将指针和长度传递给函数的缺点

是否有一个std容器,它可以在运行时设置为某个大小,并且这个大小是不可更改的

不,目前还没有提供该功能的标准容器

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

是否有一个std容器,它可以在运行时设置为某个大小,并且这个大小是不可更改的

不,目前还没有提供该功能的标准容器

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


我不知道。最接近的应该是
std::unique\u ptr
,我认为+跟踪大小。可能是有限制的自定义容器实现?是否有理由不为此使用
std::vector
,一个具有唯一指针+大小的小型类很容易实现。您正在寻找一个大小合适的
std::vector
,其中使用
操作符[]
,并禁止使用
push_back
。我认为不值得为此编写太多额外的代码,只需要使用我不知道的已经存在的代码。最接近的应该是
std::unique\u ptr
,我认为+跟踪大小。可能是有限制的自定义容器实现?是否有理由不为此使用
std::vector
,一个具有唯一指针+大小的小型类很容易实现。您正在寻找一个大小合适的
std::vector
,其中使用
操作符[]
,并禁止使用
push_back
。我认为不值得为此编写大量额外的代码,只需使用已有的代码即可