decltype 使用

  1. template <typename It>
  2. auto fcn(It beg, It end) -> decltype(*beg)
  3. {
  4. return *beg; // 返回序列中一个元素的引用
  5. }
  6. // 为了使用模板参数成员,必须用 typename
  7. auto fcn2(It beg, It end) -> typename remove_reference<decltype(*beg)>::type
  8. {
  9. // 处理序列
  10. }