Які недоліки перевантаження операторів у C++?

Які недоліки перевантаження операторів у C++?

Недоліки перевантаження функцій у C++

  • У перевантаженні функцій основним недоліком є ​​те, що функції з різними типами повернення не можуть бути перевантажені.
  • У випадку статичної функції ті самі параметри не можна перевантажувати.

Що робить перевантаження з пральною машиною?

  • Ваша білизна не випрається.
  • Вода не зливається належним чином.
  • Мотор вашої машини може бути пошкоджений.
  • Підшипники бака барабана можуть зноситися.

Перевантаження оператора може зробити код більш читабельним та інтуїтивно зрозумілим, оскільки це дозволяє користувачам керувати об’єктами за допомогою знайомих операторів. Він також може спростити код, зменшивши кількість функцій, які потрібно визначити, полегшуючи написання та підтримку коду.

Недоліки перевантаження методів Початківцю не дуже просто вибрати цю техніку програмування та піти з нею. Це вимагає більших зусиль, витрачених на розробку архітектури (тобто типу та кількості аргументів) на початку, принаймні, якщо програмісти хочуть уникнути масивного переписування коду.

У C++ наведені загальні правила щодо речей, які заборонені з перевантаженням операторів.

  • Перевантажувати можна лише вбудовані оператори. …
  • Арність операторів змінити неможливо.
  • Пріоритет і асоціативність операторів не можна змінити.
  • Перевантажені оператори не можуть мати аргументи за замовчуванням.

Оператор селектора члена класу або Dot(.) оператор не можна перевантажувати, і це викличе помилку, як видно у виводі. Перевантаження оператора Dot(.) призведе до конфлікту значення, оскільки оператор може використовуватися для перевантаження об’єкта або для посилання на об’єкт класу.