【发布时间】:2019-11-13 14:36:44
【问题描述】:
在我的应用程序的结构中,一个对象的向量是另一个向量的子集是有意义的。我的意思是,较小的存储包含在较大的存储中。
这在 C++ 中可行吗?我保证这两个向量都不会被调整大小,而且我可能会做到这一点,以便子向量在包含的向量之前被破坏。
起初我认为从迭代器创建一个子向量到大向量中可以解决问题,但这样会产生副本。我真的想要一个裸指针的重定向。
【问题讨论】:
-
您的子集是否连续,即
v[i]到v[j]以及介于两者之间的所有元素;或均匀跨步,例如原始向量的每三个元素;还是更一般的东西? -
连续。真的,这是最无害和最安全的情况。我会调查
gsl::span,这对我来说是新的。