相关疑难解决方法(0)

这里的"boost :: mpl :: identity <T> :: type"有什么意义?

我正在检查clampboost中的实现:

  template<typename T, typename Pred> 
  T const & clamp ( T const& val, 
    typename boost::mpl::identity<T>::type const & lo, 
    typename boost::mpl::identity<T>::type const & hi, Pred p )
  {
//    assert ( !p ( hi, lo ));    // Can't assert p ( lo, hi ) b/c they might be equal
    return p ( val, lo ) ? lo : p ( hi, val ) ? hi : val;
  } 
Run Code Online (Sandbox Code Playgroud)

如果我查阅文档,则identity返回模板参数不变.

身份元功能.返回X不变.

那么在这里使用它有什么意义呢?

typename boost::mpl::identity<T>::type等于T

c++ templates boost argument-deduction

11
推荐指数
1
解决办法
1197
查看次数

标签 统计

argument-deduction ×1

boost ×1

c++ ×1

templates ×1