你这个属于data view类型,低版本的 STL 不提供类似接口,你可以自己写一个,包含一个 T*或 const T*,一个 size_t,重载了operator []
template<typename T>
class DataView {
const T* ptr;
size_t len;
public:
DataView(const std::vector<T> &from, size_t start, size_t len): ptr(&from[start]), len(len) {}
const T &operator [](size_t idx) const {
if (idx > len) throw std::range_error();
return ptr[idx];
}
};
--
FROM 114.251.196.*