-5

この種のbool関数の戻り値の型は何ですか......戻り値の型がtrueまたはfalseのいずれかであることは知っていますが、このようになった場合、これは複雑に思えます..

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

このbool関数はequalと呼ばれるライブラリ関数で使用されています......別の例は....

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

したがって、これらのbool関数の型を返すためのここでの視点は何ですか.whenがtrueおよびfalseになる....

4

1 に答える 1

1

あなたの関数mypredicateとは、二項演算子とcompareの薄いラッパーにすぎません。演算子は関数に似ています。指定された型の引数をいくつか取り、指定された型の結果を返します。==<

たとえばbool operator==(int a, int b)、次の仕様を持つ関数を想像してください。

  • a等しい場合bは戻りますtrue
  • それ以外の場合は戻りますfalse

そしてbool operator<(int a, int b)、次の仕様の関数:

  • ifaが厳密に then より小さい場合bは returntrue
  • それ以外の場合は返品し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 に答える