次: C Constants, 上: C
演算子は、
特定の型の値に対して定義されなければなりません。
例えば、
+は数値に対しては定義されていますが、
構造体に対しては定義されていません。
演算子は、
型のグループに対して定義されることがよくあります。
C/C++に対しては、以下の定義が有効です。
intが含まれます。
char、
enumも整数型です。
floatとdoubleが含まれます。
(type *)により定義されるすべての型が含まれます。
以下の演算子がサポートされています。 これらは優先順位の低いものから順に並べられています。
,== op= bという形式の式において使用され、
a = a op bに変換されます。
op=と=は、
同一の優先順位を持ちます。
opには、
|、
^、
&、
<<、
>>、
+、
-、
*、
/、
%の各演算子が使用できます。
?: ? b : cは、
aが真であればb、
偽であればcとみなすことができます。
aは整数型でなければなりません。
||&&|^&==、!=<、>、<=、>=<<、>>@+、-*、/、%++, --*++と同一の優先度を持ちます。
&++と同一の優先順位を持ちます。
C++のデバッグでは、
C++言語そのものにおいては許されていないような`&'の使用法を、
GDBは実装しています。
C++の
(`&ref'により宣言される)
参照変数が格納されているアドレスを調べるのに、
`&(&ref)'
(あるいは、
もしそうしたいのであれば単に`&&ref')
を使用することができます。
-++と同一の優先順位を持ちます。
!++と同一の優先順位を持ちます。
~++と同一の優先順位を持ちます。
., ->struct)
および共用体
(union)
に対して定義されています。
[][i]は、
*(a+i)として定義されています。
->と同一の優先順位を持ちます。
()->と同一の優先順位を持ちます。
::struct)、
共用体(union)、
クラス(class)に対して定義されています。
::::と同一の優先順位を持ちます。