1. ホーム
  2. c++

[解決済み] C++でクエスチョンマーク文字('?')はどういう意味ですか?

2022-03-01 03:50:54

質問

int qempty()
{
    return (f == r ? 1 : 0);
}

上記のスニペットで、"?" は何を意味するのでしょうか? 何と置き換えることができるでしょうか?

どのように解決するのですか?

これは、一般的に 条件演算子 と、このように使用すると

condition ? result_if_true : result_if_false

... もし condition と評価されます。 true と評価される場合、この式は result_if_true と評価され、それ以外の場合は result_if_false .

それは 構文糖 と置き換えることができます。

int qempty()
{ 
  if(f == r)
  {
      return 1;
  } 
  else 
  {
      return 0;
  }
}

を参照する人もいます。 ?: を"と呼びます。 三項演算子 なぜなら、彼らが使っている言語で唯一の三項演算子(つまり、3つの引数を取る演算子)だからです。