Можем ли мы создать пользовательские Rust-операторы?

rust operator-overloading

1245 просмотра

1 ответ

1298 Репутация автора

Я знаю, что мы можем реализовать черты, которые переопределяют стандартные арифметические операторы. Можем ли мы также создать наши собственные черты, которые перегружают пользовательские операторы? Мне очень понравилась система Хаскелла для определения операторов.

Автор: MFlamer Источник Размещён: 24.05.2013 10:46

Ответы (1)


6 плюса

53041 Репутация автора

Решение

Нет, в руководстве только операторы, которые могут быть перегружены:

  • ! - Побитовое или логическое дополнение
  • != - Сравнение неравномерности
  • % - Арифметический остаток
  • %= - Арифметический остаток и присвоение
  • & - Побитовое И
  • &= - Побитовое И и назначение
  • * - Арифметическое умножение
  • *= - Арифметическое умножение и присвоение
  • + - Арифметическое добавление
  • += - Арифметическое добавление и назначение
  • - - Арифметическое отрицание
  • - - Арифметическое вычитание
  • -= - Арифметическое вычитание и присвоение
  • / - Арифметическое деление
  • /= - Арифметическое деление и присвоение
  • << - Сдвиг влево
  • <<= - Левый сдвиг и назначение
  • < - Меньше сравнения
  • <= - Меньше или равно сравнению
  • == - Сравнение равенства
  • > - Больше, чем сравнение
  • >= - Больше или равно сравнению
  • >> - Сдвиг вправо
  • >>= - Сдвиг вправо и назначение
  • ^ - Побитовое исключение ИЛИ
  • ^= - Побитовое исключающее ИЛИ и назначение
  • | - Побитовое ИЛИ
  • |= - Побитовое ИЛИ и назначение
Автор: huon Размещён: 25.05.2013 12:14
Вопросы из категории :
32x32