0
我继承了一些代码,并且卡住了我认为应该是一个简单的更新。将std :: vector <const Type*>转换为const std :: vector <T, A>&Vec
我有以下功能
template<typename T>
class ArrayRef {
public:
typedef const T *iterator;
typedef const T *const_iterator;
private:
/// The start of the array, in an external buffer.
const T *Data;
public:
/// Construct an ArrayRef from a std::vector.
template<typename A>
ArrayRef(const std::vector<T, A> &Vec)
: Data(Vec.empty() ? (T*)0 : &Vec[0]), Length(Vec.size()) {}
};
,我需要通过一个载体,具有以下定义,该功能。
std::vector<const myType*> myVector(4);
要做到这一点,最简单的方法是什么?
是函数的'T'和'A'模板参数吗?在这种情况下,它应该工作。如果它们不是,它们是什么类型,'T'与'myType'有关? – Grizzly 2013-03-14 18:51:54
我把整个函数定义放进去了,这是否更清楚? – 2013-03-14 18:55:49
代码中的T是什么? – 2013-03-14 18:56:26