相关疑难解决方法(0)

SFINAE与C++ 14返回类型扣除

感谢C++ 14,我们很快就能够减少冗长的尾随返回类型; 例如minDavid Abrahams 2011 帖子的一般例子:

template <typename T, typename U>
auto min(T x, U y)
    -> typename std::remove_reference< decltype(x < y ? x : y) >::type
{ return x < y ? x : y; }
Run Code Online (Sandbox Code Playgroud)

在C++ 14下,返回类型可以省略,min可以写成:

template <typename T, typename U>
auto min(T x, U y)
{ return x < y ? x : y; }
Run Code Online (Sandbox Code Playgroud)

这是一个简单的示例,但是返回类型推导对于通用代码非常有用,并且可以避免很多复制.我的问题是,对于这样的功能,我们如何整合SFINAE技术?例如,我如何使用std::enable_if限制min函数返回积分类型?

c++ templates sfinae c++14

7
推荐指数
1
解决办法
1184
查看次数

标签 统计

c++ ×1

c++14 ×1

sfinae ×1

templates ×1