این سند اپراتورهایی را که با توجه به کامپایلر کنونی قابل استفاده هستند، مرور میکند.
حسابی
| اپراتور | توضیح |
|---|
+ | جمع |
- | تفریق |
* | ضرب |
/ | تقسیم |
% | باقیمانده |
مقایسه
| اپراتور | توضیح |
|---|
== | مساوی |
!= | نامساوی |
< | کمتر |
<= | کمتر یا مساوی |
> | بزرگتر |
>= | بزرگتر یا مساوی |
منطقی
| اپراتور | توضیح |
|---|
&& | و منطقی |
| \`\ | یا منطقی |
! | NOT منطقی |
بیت
| اپراتور | توضیح |
|---|
& | AND بیتی |
| \`\ | OR بیتی |
^ | XOR بیتی |
~ | NOT بیتی |
<< | شیفت به چپ |
>> | شیفت به راست |
اختصاص
| اپراتور | توضیح |
|---|
= | اختصاص پایهای |
+= | اختصاص بعد از جمع |
-= | اختصاص بعد از تفریق |
*= | اختصاص بعد از ضرب |
/= | اختصاص بعد از تقسیم |
%= | اختصاص باقیمانده |
یگانه/ pointer/ تبدیل
| عملگر/کلمه کلیدی | توضیحات |
|---|
++, -- | افزایش پیشوند/پسوند |
&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, !&, !|, ~^.