用于现有数据的C++ STL向量

Bar*_*uch 11 c++ stl vector

我可以创建std::vector使用我预先存在的数据而不是分配新内存和复制数据吗?

更清楚的是,如果我有一个内存区域(c-array或另一个向量的一部分或其他)并且我想提供类似向量的访问,我可以创建一个向量并告诉它使用这个内存块?

joh*_*ohn 7

不,但你可以编写自己的类来做到这一点.由于这是一个相当普遍的需求,如果其他人已经这样做,我也不会感到惊讶.

但是,正常的C++方式是编写模板代码来操作迭代器.您可以为向量的任何部分或C数组的任何部分(以及其他许多部分)创建迭代器.因此,为迭代器编写模板代码可能就是你应该做的.