c++ - 接受迭代器或指针并获取指向类型的模板函数

标签 c++

不幸的是我没有使用 C++11(然后我会使用 auto)。

假设我有一个像下面这样的函数(非常简单的例子)

template<class ITR>
void f(ITR begin, ITR end)
{
    TYPE temp = *begin;
}

我想将迭代器中的一些临时值存储在局部变量中,但我不知道如何获取 TYPE。此外,将使用标准迭代器和原始指针调用该函数。

有什么帮助吗?谢谢

最佳答案

使用std::iterator_traits

template<class ITR>
void f(ITR begin, ITR end)
{
    typename std::iterator_traits<ITR>::value_type temp = *begin;
}

关于c++ - 接受迭代器或指针并获取指向类型的模板函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18467190/

相关文章:

c++ - 哪些编译器选项用于在 Visual Studio 中编译 C++ STL 类/函数?

c++ - 监视进程内的键盘事件(进程范围)

c++ - 写入序列号流 `operator>>`?

c++ - 如何建立eaSTL库

c++ - 如何在没有 CPU 拷贝的情况下上传 GPU 操作生成的 DXT5 压缩像素数据?

c++ - 编译器计算错误

c++ - 通过将文本文件读入字符串/vector 来计算加权/未加权 GPA

c++ - 空列表迭代器比较始终为真

C++ Builder - 根据字符串中的特定单词复制指向字符串的链接

c++ - 在不破坏串行的情况下禁用 Arduino 上的定时器 0 中断