- 主题:std:vector 如何做截取(引用)?
已经有了一个vector A了
现在想截取vector A的某一段,譬如第3-10个元素,
要求形成一个新的vector B,但是其实际还是存储在原先的vector中,怎么做?
实际中有不少这样的需求。你需要用新的vector B去到第三方库中进行调用,但是又不想重复分配资源。
--
FROM 58.246.115.*
第三方库不太可能进行改造,譬如它就是一个vector<int> 参数.
我这边准备了一个超大的vector<int> 如果想用这个第三方库来检测中间的某一段数据,难道只能重新构造一个新的vector?这样会耗费很大的资源。
【 在 GoGoRoger 的大作中提到: 】
: 不太现实,除非第三方库参数是指针,或者对象较大用移动构造函数。
发自「今日水木 on M2007J17C」
--
FROM 58.246.115.*
谢谢,你这个DataView怎么传给第三方库呢?
【 在 zli07 的大作中提到: 】
: 你这个属于data view类型,低版本的 STL 不提供类似接口,你可以自己写一个,包含一个 T*或 const T*,一个 size_t,重载了operator []
: template<typename T>
: class DataView {
: ...................
--
FROM 58.246.115.*
是这种
【 在 zli07 的大作中提到: 】
: 第三方库接收const std::vector<>& 这种么?那不行,还是得做拷贝
: 【 在 granis 的大作中提到: 】
: : 谢谢,你这个DataView怎么传给第三方库呢?
: ...................
--来自微微水木3.5.12
--
FROM 58.246.115.*