因此,我有一个要保存一些数据的模板函数(?不确定是否称为该函数。以'template'开头,是一个函数)向量。问题是–数据可能包含整数,可能包含浮点数,可能包含其他向量–我只有一个迭代器指向该类型的变量。我可以为该类型创建向量吗?像“ std :: vector”之类的东西?
UPD。
template<class InputIterator, class UnaryPredicate>
void partial_sort (InputIterator first, InputIterator last, UnaryPredicate pred){
std::vector<????> to_sort;
我需要向量'to_sort'来保存要排序的向量所保存的数据,但是我所拥有的只是指向第一个和最后一个元素的迭代器。
采用
std::vector<typename std::iterator_traits<InputIterator>::value_type> to_sort(first, last);
// to_sort will be having all values between [first, last)
或者
typedef typename std::iterator_traits<InputIterator>::value_type _value_type;
std::vector<_value_type> to_sort(first, last);
// to_sort will be having all values between [first, last)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句