Re[2]: Перегрузка операций (дубль два с исходниками)
От: Андрей Тарасевич Беларусь  
Дата: 25.01.02 08:02
Оценка: 2 (1)
АТ>"Лишние" вызовы конструкторов и деструкторов возникают в частности из за того, что ты передаешь объекты в оператор '+' по значению. Это приводит к созданиям промежуточных объектов-копий. Это совершенно не нужно. Предевать следует константные ссылки:

АТ>polynom polynom::operator=(const polynom&);

АТ>polynom polynom::operator+(const polynom&);

Еще одно уточнение: оператор '+' не модифицирует своего левого операнда, поэтому соответствующий метод следует объявить как константный:

polynom polynom::operator=(const polynom&);
polynom polynom::operator+(const polynom&) const;
Best regards,
Андрей Тарасевич
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.