这个表达式为什么要这样写
这个表达式为什么要这么写?
在网上看到c++ min函数的实现,如下:
为什么要用“!“?注释里的写法也用了”!“。为什么不直接写成如下:
有什么玄机吗?
------解决方案--------------------
涉及到规则、范式等逻辑推到方面的内容
b<a不成立需要能够导出a<b,这里给出的其实是a<=b
在网上看到c++ min函数的实现,如下:
template <class T> const T& min (const T& a, const T& b) {
return !(b<a)?a:b; // or: return !comp(b,a)?a:b; for version (2)
}
为什么要用“!“?注释里的写法也用了”!“。为什么不直接写成如下:
template <class T> const T& min (const T& a, const T& b) {
return a<b?a:b; // or: return !comp(b,a)?a:b; for version (2)
}
有什么玄机吗?
------解决方案--------------------
涉及到规则、范式等逻辑推到方面的内容
b<a不成立需要能够导出a<b,这里给出的其实是a<=b