不幸的是我没有使用C ++ 11(然后我会使用auto)。
假设我有类似下面的函数(非常简单的例子)
template<class ITR>
void f(ITR begin, ITR end)
{
TYPE temp = *begin;
}
我想在迭代器中存储局部变量中的一些临时值,但我不知道如何获取TYPE。此外,该函数将使用std迭代器和原始指针调用。
有任何帮助吗?感谢
答案 0 :(得分:7)
template<class ITR>
void f(ITR begin, ITR end)
{
typename std::iterator_traits<ITR>::value_type temp = *begin;
}
答案 1 :(得分:3)
typedef typename std::iterator_traits<ITR>::value_type value_type;