-5

这种 bool 函数的返回类型是什么......我知道返回类型要么是真要么是假,但是当你得到这样的时候,这似乎很复杂..

bool mypredicate (int i, int j) {
return (i==j);
}

这个 bool 函数用在一个叫做 equal 的库函数中......另一个例子是......

bool compare(int a, int b){
return a<b;
}

那么这里返回这些布尔函数类型的观点是什么。什么时候是真假......

4

1 回答 1

1

您的函数mypredicatecompare只是二元运算符==<. 运算符就像函数:它们接受给定类型的多个参数,并返回给定类型的结果。

例如,想象一个bool operator==(int a, int b)具有以下规范的函数:

  • 如果a等于b则返回true
  • 否则返回false

bool operator<(int a, int b)以及具有以下规格的功能:

  • ifa严格小于bthen 返回true
  • 否则返回false

然后你可以写:

bool mypredicate (int i, int j) {
    return operator==(i, j);
}

bool compare(int a, int b){
    return operator<(a, b);
}

为方便起见,大多数编程语言都允许您使用更短、功能等效的语法:i == ja < b.

于 2013-05-09T11:33:42.723 回答