Posts Tagged ‘декремент’

Операторы и приоритеты.

В Perl ассоциативность и приоритетность операторов аналогична языку С. Ниже перечислены все операторы в порядке уменьшения приоритета, в начале строки указана ассоциативность.

ассоц. операторы
левая термы и левосторонние списковые операторы
левая ->
- ++ —
правая **
правая ! ~ \ унарные + и -
левая =~ !~
левая * / % x
левая + — .
левая <>
- именованные унарные операторы
- = lt gt le ge
- == != eq ne cmp
левая &
левая | ^
левая &&
левая ||
- ..
правая ?:
правая = += -= *= и т.д.
левая , =>
- правосторонние списковые операторы
левая not
левая and
левая or xor
Термы и левосторонние списковые операторы.
(далее…)

Выражение освобождения

ВыражениеОсвобождения ::= [::] delete ВыражениеПриведения
::= [::] delete [] ВыражениеПриведения

Это выражение не имеет определённого значения. А значит и о типе выражения мало что можно сказать определённого. Возможно, что оно является выражением типа void. Именно так обозначается специальный тип, который называется также пустым типом. Операция delete работает с динамической памятью. Она способна прочитать скрытую дополнительную информацию о ранее размещённом в динамической памяти с помощью операции new объекте. Поэтому операция delete требует всего одного операнда указателя на объект.
Последствия выполнения операции delete над указателем непредсказуемы и ужасны, если он ссылается на объект, который ранее не был размещён с помощью операции new. Гарантируется безопасность действия операции delete над нулевым указателем. Для удаления массивов используется специальный вариант операции с квадратными скобками. Удаление констант считается ошибкой. Она фиксируется на стадии трансляции. Позже мы обсудим назначение разделителя в выражениях освобождения и размещения ‘::’.
(далее…)