所以我有一个模板函数(?不确定它叫那个。以"template"开头并且是一个函数) vector ,我想保存一些数据。问题是——数据可能由整数组成,可能由 float 组成,可能由其他 vector 组成——我只有一个指向该类型变量的迭代器。我可以为该类型创建一个 vector 吗?就像是 “std::vector” 还是类似的?
更新。
template<class InputIterator, class UnaryPredicate>
void partial_sort (InputIterator first, InputIterator last, UnaryPredicate pred){
std::vector<????> to_sort;
我需要 vector “to_sort”来保存被排序的 vector 所保存的数据,但我所拥有的只是指向第一个和最后一个元素的迭代器。
最佳答案
template <class It>
void myFunction (It b, It e) {
auto vec = std::vector<typename std::iterator_traits<It>::value_type> { b, e };
// now vec is filled with copies of the values between b and e
}
关于c++ - 如何创建一种变量的 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33693375/