gpt4 book ai didi

c++ - 如何从模板参数(std::vector 和普通指针)中提取 value_type?

转载 作者:可可西里 更新时间:2023-11-01 18:06:44 25 4
gpt4 key购买 nike

我有一个带有以下接口(interface)的排序:

template< class RandomIt >
void my_sort( RandomIt first, RandomIt last )
{

}

我希望 RandomIt成为 std::vector<T>.begin()/end() 的迭代器或普通指针类型 T* first,T* last .我想如果我假设 RandomIt是一个 vector ,我可以从RandomIt::value_type得到它, 但这不适用于 T* first,T* last .

我的问题是,如何提取 value_type T在这两种情况下都来自模板参数?

最佳答案

使用 iterator_traits<T>::value_type (cppreference)。请注意,标准库为 T* 提供了 iterator_traits 定义。和 const T* , 所以它也适用于普通指针。

关于c++ - 如何从模板参数(std::vector 和普通指针)中提取 value_type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14432709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com