Суббота, 18.05.2024, 16:10Приветствую Вас Гость | RSS
IT Solutions
Меню сайта
Наш опрос
Оцените мой сайт
Всего ответов: 407
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Каталог статей


Главная » Статьи » Мои статьи

Канонические формы операторов
Если можно записать "a + b", то должно быть и "a += b".
Причём "a += b" может быть более эффективней.



Пример:
Если определим класс "String", который имеет неявный конструктор, получающий аргумент типа "char", то оператор не-член operator+( const String&, const String& ) позволяет осуществлять как "char + String ", так и "String + char".
В то время, как функция-член String::operator+ ( const String& ) позволяет использовать только операцию "string + char".

Исключения:
Иногда оператор может изменять левый аргумент настолько существенно, что более выгодным может оказаться реализация "@=" с помощью "@", а не наоборот.
(например, operator *= для комплексных чисел)


Дополнение:
Лучше реализовывать постфиксный оператор ( ++\--) с использованием префиксного:


Категория: Мои статьи | Добавил: B@R_LOG (18.11.2013)
Просмотров: 790 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Категории раздела
Мои статьи [11]
Поиск
Друзья сайта
  • МЫ в "ВКонтакте"
  • Система Orphus