先頭へ戻る

宇宙船演算子 | Programming Place Plus 用語集

Programming Place Plus トップページ -- 用語集

先頭へ戻る

名称

解説

演算子の一種で、2つの対象(オペランド)の関係性を調べるものです。

宇宙船演算子は、2つのオペランドのの関係性が、どちらも同じ(等価)、片方が小さい、片方が大きいのいずれであるのかを調べる演算子です。2つのオペランドの関係性を調べるものなので、関係演算子の一種でもあります。また、このような比較のことを、三方比較(一貫比較)などと呼びます。

宇宙船演算子は <=> で表されます。宇宙船演算子という不思議な名前は、この表記の形状を宇宙船に見立てたものです。三方比較演算子と呼ぶ場合もあります。

詳細はプログラミング言語による違いもありますが、a <=> b というの結果は、a と b が等価であれば 0、a の方が小さければ 0より小さい数、a の方が大きければ 0より大きい数になります(明確に 0、-1、1 のいずれかとしている場合もある)。ほかの関係演算子と違って結果が3通りあるので、ブール値にはなりません。

C言語の場合

C言語には宇宙船演算子はありませんが、strcmp関数や memcmp関数の仕様は宇宙船演算子と同じです。いずれの関数も、2つの対象を比較して、同じであれば 0 を、左側が小さければ負の整数を、左側が大きければ正の整数を返します。

strcmp関数memcmp関数については、C言語編のリファレンスを参照してください。

C++ の場合

C++ では、C++20 で追加されています1


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー