AngelScript Help

Операторы

https://www.angelcode.com/angelscript/sdk/docs/manual/doc_operator_precedence.html

Оператор

Перегрузка

Описание

Пример

Приоритет: 1, ассоциативность: нет

::

Область видимости

a::b

Приоритет: 2, ассоциативность слева направо: слева направо

.

Доступ к члену

a.b

[]

opIndex

Доступ к индексу

a[b]

()

opCall

Вызов функции

a(b)

++

opPostInc

Пост-инкремент

a++

--

opPostDec

Пост-декремент

a--

Приоритет: 3, ассоциативность: справа налево

++

opPreInc

Пре-инкремент

++a

--

opPreDec

Пре-декремент

--a

~

opCom

Побитовое отрицание

~a

-

opNeg

Математическая смена знака

-a

!

Логическое НЕ

!a

not

Логическое НЕ

not a

+

Математическое взятие модуля

+a

@

Ссылка

@a

()

Приведение типа

a(b)

cast

Приведение типа

cast<a>(b)

Приоритет: 4, ассоциативность: слева направо

**

opPow

Возведение в степень

a**b

Приоритет: 5, ассоциативность: слева направо

*

opMul

Умножение

a*b

/

opDiv

Деление

a/b

%

opMod

Остаток от деления

a%b

Приоритет: 6, ассоциативность: слева направо

+

opAdd

Сложение

a+b

-

opSub

Вычитание

a-b

Приоритет: 7, ассоциативность: слева направо

<<

opShl

Битовый сдвиг влево

a<<b

>>

opShr

Битовый сдвиг вправо с сохранением знакового бита

a>>b

>>>

opUShr

Битовый сдвиг вправо с заполнением нулями

a>>>b

Приоритет: 8, ассоциативность: слева направо

<

opCmp

Меньше

a<b

>

Больше

a>b

<=

Меньше или равно

a<=b

>=

Больше или равно

a>=b

Приоритет: 9, ассоциативность: слева направо

==

opEquals

Равно

a==b

!=

Не равно

a!=b

is

Принадлежит

a is b

!is

Не принадлежит

a !is b

^^

Логическое исключающее ИЛИ

a^^b

xor

Логическое исключающее ИЛИ

a xor b

Приоритет: 10, ассоциативность: слева направо

&

opAnd

Битовое И

a&b

Приоритет: 11, ассоциативность: слева направо

^

opXor

Битовое исключающее ИЛИ

a^b

Приоритет: 12, ассоциативность: слева направо

|

opOr

Битовое ИЛИ

a|b

Приоритет: 13, ассоциативность: слева направо

&&

Логическое И

a&&b

and

Логическое И

a and b

Приоритет: 14, ассоциативность: слева направо

||

Логическое ИЛИ

a||b

or

Логическое ИЛИ

a or b

Приоритет: 15, ассоциативность: справа налево

? :

Тернарный оператор

a?b:c

=

opAssign

Присваивание

a=b

**=

opPowAssign

Присваивающее возведение в степень

a**=b

*=

opMulAssign

Присваивающее умножение

a*=b

/=

opDivAssign

Присваивающее деление

a/=b

%=

opModAssign

Присваивающий остаток от деления

a%=b

+=

opAddAssign

Присваивающее сложение

a+=b

-=

opSubAssign

Присваивающее вычитание

a-=b

<<=

opShlAssign

Присваивающий битовый сдвиг влево

a<<=b

>>=

opShrAssign

Присваивающий битовый сдвиг вправо с сохранением знакового бита

a>>=b

>>>=

opUShrAssign

Присваивающий битовый сдвиг вправо с заполнением нулями

a>>>=b

&=

opAndAssign

Присваивающее битовое И

a&=b

^=

opXorAssign

Присваивающее битовое исключающее ИЛИ

a^=b

|=

opOrAssign

Присваивающее битовое ИЛИ

a|=b

Приоритет: 16, ассоциативность: слева направо

,

Перечисление

a,b

Ассоциативность

Определяет направление разбора выражения.

Приоритет

Определяет приоритет выполнения операций.

Чем меньше значение в таблице тем приоритет считается выше, то бишь операция выполнится раньше других. Для операций с одинаковым приоритетом операции будут выполняться в порядке, заданном ассоциативностью.

Перегрузка

https://www.angelcode.com/angelscript/sdk/docs/manual/doc_script_class_ops.html

Метод класса, который используется для перегрузки оператора.

Last modified: 16 October 2024