提问人:fuse tee 提问时间:3/30/2023 更新时间:3/31/2023 访问量:80
具有不同数量元素但没有动态内存分配的 Std 容器
Std Container of varying number of elements but no dynamic memory allocation
问:
与 Stack-Overflow Question: Constant Size Vector 不太相同。
我需要一个容器来容纳具有以下属性的size_t:
- push_back、包含、查找和擦除;至于向量<size_t>
- 规定的固定内存占用(我知道编译时的最大元素数作为 constexpr)。
数组类不能解决问题,因为数组始终包含给定数量的元素。因此,我需要一个容器来区分它保留的内存和它实际包含的项目。
谁知道 c++2020 标准中合适的容器?
答:
2赞
Jeffrey
3/31/2023
#1
向量的定义是:
template<class T, class Allocator = std::allocator<T>> class vector;
https://en.cppreference.com/w/cpp/container/vector
注意这个部分。Allocator
因此,例如,如果您处于一个高代码成熟度环境中,并且有一个禁止使用 的 linter,则可以提供一个从固定静态池进行分配的分配器。此分配器可以强制执行所需的约束。new
评论
std::vector
std::array<char,n*sizeof(T)>
size_t
std::array
std::vector