2016-02-27 3 views
0

Я хочу написать программу, которая умножает два массива 2d. Оба массива являются экземплярами класса шаблона (массивы могут быть int, float, double). Лучше ли перегружать операторы * и =, или написать функцию, которая будет умножать массивы? Каковы преимущества и недостатки перегрузки оператора? Может ли перегрузка повлиять на производительность программы?Оператор перегружает функцию шаблона VS

ответ

0

Операторы перегрузки не имеют каких-либо штрафных санкций. Это переводит на обычный вызов функции. Преимущество перегрузки оператора заключается только в том, что он делает ваш код короче. Однако в случае умножения массива я рекомендую использовать правильно названную функцию, потому что для векторов существует по крайней мере два вида семантики умножения - есть умножение по элементам, и есть скалярное умножение точечного произведения a.k.a. Перегруженный оператор * оставит смысл неясным.

Смежные вопросы