首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
sfinae专题
函数重载及SFINAE
1. C语言不支持函数重载 main.c // gcc main.cvoid f(int x, int y){}void f(double x, double y){}int main(){} 使用指令gcc main.c编译是会报错的,因为C语言是不支持函数重载的,报错信息如下: main.c:4:6: error: conflicting types for ‘f’; have ‘
阅读更多...
模板编程中实现 SFINAE(Substitution Failure Is Not An Error)
在C++模板编程中,std::enable_if 是一个常用的工具,它依赖于 SFINAE(Substitution Failure Is Not An Error)原则来控制模板的启用或禁用。理解 std::enable_if 如何工作,可以更清楚地看到为什么 disable_if_same_or_derived 在某些情况下等同于 void 类型。 std::enable_if 的工作原理
阅读更多...