提问人:user3257842 提问时间:3/24/2022 更新时间:3/24/2022 访问量:51
是否有像“std::array<type, max_size>”这样的结构,其“正在使用”的大小可以小于 max_size?
Is there a structure like `std::array<type, max_size>` where its "in use" size can be smaller than max_size?
问:
我有一个问题,我使用加法、减法和乘以大量的双精度向量()。每个向量可以有 2 到 8 个元素,向量的元素数可以根据操作而变化,但永远不会超过 8 个。std:vector<double>
要做到这一点,最快速有效的方法是使用诸如 or 之类的类型。但是,我仍然需要一个单独的变量来跟踪向量实际使用的 8 个预分配插槽中的多少个。即。如果 ,则我们认为向量与其余向量一样被忽略,直到某些操作发生变化。double my_vector[8]
std::array<double, 8> my_vector
int my_vector_size
my_vector_size = 2
{my_vector[0],my_vector[1]}
my_vector_size
下一步是分组并形成一个单一的结构。但我想知道是否已经有一个适合我要求的结构。double my_vector[max_size]
int my_vector_size
std
答: 暂无答案
评论
std
@
std::p mr::monotonic_buffer_resource
既可以实现此处请求的功能,又可以实现此处请求的免费商店分配,但从上下文线索来看,这感觉像是过早的优化。“向量四处移动很多”并不能描述当使用量在容量范围内时会发生什么情况,并且比使用量超过容量时要正确得多。std::vector
std::vector
std::array