60分求解:仿函数和合法的判断式,该怎么解决

60分求解:仿函数和合法的判断式

C/C++ code
并非所有的返回值的函数都是合法的判断式子。可能会导致很多出人意外的行为。  


怎么理解??

谁举个简单的例子, 会出现什么意外, 不会啊

------解决方案--------------------
LZ说的和仿函数没啥关系吧

这个道理很简单啊,比如strcmp(str1, str2),如果相等返回0

if(strcmp(str1, str2))
{
// i thought that str is equal to str2, but it's wrong!!!!
.....
}

就是程序员可能不小心看错一些函数的返回值,以为是什么样子的。。
这句话是说程序员都会犯错,任何标准都可能有让人误解的地方


1楼说的没道理,和你问的没关系
------解决方案--------------------
看不出和仿函数有没关系。

Assembly code

仿函数(functor),就是使一个类的使用看上去象一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。