二項演算子の概要(C++)

提供: Appmethod Topics
移動先: 案内検索

二項演算子:インデックス への移動


Appmethod C++ における二項演算子は次のとおりです。

算術演算子

詳細は、「算術演算子(単項)」を参照してください。

算術演算子 説明 算術演算子 説明
+

バイナリ プラス(加算)

-

バイナリ マイナス(減算)

*

乗算

/

除算

%

剰余(法)

ビット演算子

詳細は、「ビット演算子」を参照してください。

ビット演算子 説明 ビット演算子 説明
<<

左へシフト

>>

右へシフト

&

ビット AND

^

ビット XOR(排他的論理和)

|

ビット OR(包含的論理和)

論理演算子

詳細は、「論理演算子」を参照してください。

論理演算子 説明
&&

論理 AND

代入演算子

詳細については、以下を参照してください。

代入演算子 説明 代入演算子 説明
=

代入

*=

積の代入

/=

商の代入

%=

剰余(法)の代入

+=

和の代入

-=

差の代入

<<=

左シフトを代入

>>=

右シフトを代入

&=

ビット AND を代入

^=

ビット XOR を代入

|=

ビット OR を代入

関係演算子

詳細については、以下を参照してください。

関係演算子 説明 関係演算子 説明
<

小なり

>

大なり

<=

小なりまたは等しい(以下)

>=

大なりまたは等しい(以上)

==

等しい

!=

等しくない

コンポーネント選択演算子

詳細は、「クラス メンバ アクセス演算子 -> のオーバーロード」を参照してください。

コンポーネント選択演算子 説明
.

直接コンポーネント セレクタ

 ->

間接コンポーネント セレクタ

クラス メンバ演算子

詳細については、以下を参照してください。

クラス メンバ演算子 説明
::

スコープ アクセス/解決

スコープ アクセス(解決)演算子 ::(コロン 2 つ)を使用すると、ローカルの再宣言によって名前が隠蔽されている場合でも、グローバル名(またはファイル存続期間名)にアクセスできます。

.*

クラス メンバを指すポインタの逆参照

.* 演算子を使用すると、クラス メンバを指すポインタを逆参照できます。

第 1 オペランドはクラス型でなければなりません。第 1 オペランドの型がクラス型 TFoo であるか、クラス型 TFoo から派生されたクラスである場合、第 2 オペランドは、クラス型 TFoo のメンバを指すポインタでなければなりません。

->*

クラス メンバを指すポインタの逆参照

->* 演算子を使用すると、クラス メンバを指すポインタを逆参照できます。

第 1 オペランドは、クラス型を指すポインタでなければなりません。第 1 オペランドの型が、クラス型 TFoo を指すポインタであるか、クラス型 TFoo から派生されたクラスを指すポインタである場合、第 2 オペランドは、クラス型 TFoo のメンバを指すポインタでなければなりません。

たとえば以下のような例は、ポインタからメンバを逆参照する演算子をおそらく最もよく説明しているでしょう。

 #include <iostream>
 
 class TFoo {
 public:
   void func() {
     std::cout << __func__ << std::endl;
   }
   int data;
 };
 
 void (TFoo::*pmfn)() = &TFoo::func;
 int TFoo::*pmd = &TFoo::data;
 
 int main() {
   TFoo foo;
   TFoo *pfoo = &foo;
 
   // Call func with foo/pfoo
   (foo.*pmfn)();   // With object
   (pfoo->*pmfn)(); // With pointer
                    
   // Set/read data with object and ptr respectively
   foo.*pmd = 123;
   std::cout << "data=" << pfoo->*pmd << std::endl;
 
   return 0;
 }

条件演算子

詳細は、「条件演算子」を参照してください。

条件演算子 説明
?:

実際には、三項演算子です。たとえば、a ? x : y は、"a ならば x、そうでなければ y" を意味します。

コンマ演算子

詳細は、「コンマ演算子」を参照してください。

コンマ演算子 説明
,

評価

その他の C++ 固有の演算子

関連項目