stdarray相关内容

已经广泛存在的类似载体的容器有哪些变体?我必须写我自己的书吗?

在我的程序中,我经常需要拥有一个像数组一样的容器--即用于连续存储在内存中的数据,但向量太灵活了,没有它应有的实用或效率。 需求与std::vector在一个或多个方面不同,例如: 只能在结尾处插入元素,不能移动其他元素 构建/编译后不能更改容量 构造/编译后不能更改大小 存储是类固有的,不涉及分配器 对于单个类型没有奇怪的特殊大小写,如std::vector 引 ..
发布时间:2022-08-23 12:17:45 C/C++开发

std::array 的默认初始化?

使用 C++11 std::array,我是否可以保证语法 std::array;x; 将默认初始化数组的所有元素? 编辑:如果没有,是否有适用于所有数组(包括零大小数组)的语法来将所有元素初始化为其默认值? 编辑:在 cppreference 上,默认构造函数描述说: (constructor) (隐式声明) (public member function)默认构造或复制构造数组的 ..
发布时间:2022-01-18 23:16:22 其他开发

0 长度数组(或 std::array)有什么用?

在 C++11 中,它允许您像这样创建 0 长度的 C 数组和 std:array: int arr1[0];std::array arr2; 所以我在想一个没有空间存储的数组有什么用? 其次,什么是零长度数组?如果是指针,它指向哪里? 解决方案 你的第一个例子不是标准的 C++,而是 一个gcc 和clang 允许的扩展,它是灵活数组 以及这个这个问题的答案:真的需要灵活的数组成员 ..
发布时间:2021-11-18 02:31:03 C/C++开发

如何将变量内容常量用作std :: array的大小?

我有一个属于该类的size变量.我想将其用作std :: array的大小,但我无法做到这一点.我找到了一些有关constexpr的文章,但到目前为止没有任何用处.你能帮我吗? #include#includeMyClass类{私人的:整数大小;//变量我需要复制内容并使之恒定.无效calculateSize(int x){大小= 2 * x;}上市:我的课 ..
发布时间:2021-04-22 18:57:15 C/C++开发

创建一个std :: array,其大小在运行时计算

我想创建一个 std :: array 的对象,但是问题是我只能使用返回 constexpr 类型的函数,否则编译器会抱怨.这里的问题是,我需要根据另一个数组的大小来计算该数组的长度,这可能是这样的: 模板struct DataLength{模板size_t maxPossibleLength(开始,结束){size_t m_ ..
发布时间:2021-04-19 19:46:27 C/C++开发

我如何构造一个填充有一些统一值的std :: array?

可以构造具有特定值的 std :: array (在编译时使用较新的C ++版本),例如 std :: array a {1,4,9}; 但是-它没有构造函数,也没有标准库命名的构造函数惯用语,只取一个值并将其复制。也就是说,我们没有: std :: array a {11}; // a == std :: array {11,11 ..
发布时间:2020-09-24 20:04:00 C/C++开发

可识别分配器的`std :: array`样式的容器?

我正在编写一些处理密码秘密的代码,并创建了std::pmr::memory_resource的自定义ZeroedMemory实现,该实现可处理释放时的内存清理并使用必须使用的魔术进行封装,以防止优化编译器被淘汰离开手术.这样做的目的是避免专门化std::array,因为缺少虚拟析构函数意味着在类型擦除之后进行破坏会导致释放内存而不进行清理. 不幸的是,我后来才意识到std::array不是A ..
发布时间:2020-07-10 01:00:21 C/C++开发