演算子
この文書は現在のコンパイラ基準で実際に使用可能な演算子を整理します。
算術
| 演算子 | 説明 |
|---|---|
+ | 加算 |
- | 減算 |
* | 乗算 |
/ | 除算 |
% | 余り |
比較
| 演算子 | 説明 |
|---|---|
== | 同じ |
!= | 違い |
< | 小さい |
<= | 小さいまたは等しい |
> | 大きい |
>= | 大きいまたは等しい |
論理
| 演算子 | 説明 |
|---|---|
&& | 論理AND |
|| | 論理OR |
! | 論理NOT |
ビット
| 演算子 | 説明 |
|---|---|
& | ビット AND |
| | ビットOR |
^ | ビット XOR |
~ | ビット NOT |
<< | 左シフト |
>> | 右シフト |
代入
| 演算子 | 説明 |
|---|---|
= | 基本代入 |
+= | 加算後代入 |
-= | 減算後代入 |
*= | 乗算後代入 |
| /= | 除算後代入 |
%= | 剰余後代入 |
単項/ポインタ/キャスト
| 演算子/キーワード | 説明 |
|---|---|
++, -- | 前置/後置増減 |
&x | アドレス取得 |
deref p | ポインタ逆参照 |
expr as T | 明示的キャスト |
ポインタ演算
| 表現式 | 結果 |
|---|---|
ptr<T> + int | ptr<T> (GEP移動) |
int + ptr<T> | ptr<T> (GEP移動) |
ptr<T> - int | ptr<T> (GEP移動) |
ptr<T> - ptr<T> | i64 (バイト差) |
ptr == ptr、ptr != ptr | ポインタの比較 |
予約または未実装項目
構文トークンは存在しますが、現在の式演算ではサポートされていない項目があります。
例: ??, ?:, in, is, !&, !|, ~^.
