Я хочу написать программу, которая умножает два массива 2d. Оба массива являются экземплярами класса шаблона (массивы могут быть int, float, double). Лучше ли перегружать операторы * и =, или написать функцию, которая будет умножать массивы? Каковы преимущества и недостатки перегрузки оператора? Может ли перегрузка повлиять на производительность программы?Оператор перегружает функцию шаблона VS
0
A
ответ
0
Операторы перегрузки не имеют каких-либо штрафных санкций. Это переводит на обычный вызов функции. Преимущество перегрузки оператора заключается только в том, что он делает ваш код короче. Однако в случае умножения массива я рекомендую использовать правильно названную функцию, потому что для векторов существует по крайней мере два вида семантики умножения - есть умножение по элементам, и есть скалярное умножение точечного произведения a.k.a. Перегруженный оператор * оставит смысл неясным.
Смежные вопросы
- 1. Оператор перегружает оператор «+» в C++
- 2. Почему QString перегружает + оператор?
- 3. Перегружает оператор поддержки дротика
- 4. Оператор перегружает необработанное исключение
- 5. Python: оператор перегружает неожиданный вывод?
- 6. С ++ оператор перегружает разрешение неоднозначно
- 7. Что здесь перегружает оператор C++?
- 8. Свободный оператор -> * перегружает зло?
- 9. Как перегружает оператор равенства == действительно работает?
- 10. перегружает оператор +, чтобы добавить 2 многочлена
- 11. Почему не перегружает разрешение, выберите первую функцию?
- 12. Оператор перегружает полиморфизм, возвращающий общую коллекцию
- 13. Как std :: string перегружает оператор присваивания?
- 14. C++ оператор перегружает шаблон с разными аргументами
- 15. может содержать указатель, который перегружает оператор &?
- 16. Оператор перегружает комплексные номера - дополнительная функция
- 17. ? Оператор VS ?? Оператор Использование
- 18. оператор() специализация шаблона
- 19. Оператор-оператор с ++ 11/14 с перегрузкой параметра шаблона шаблона
- 20. Оператор перегрузки <<, чтобы принять функцию шаблона
- 21. Task.Factory.StartNew() перегружает
- 22. Parallel.ForEach перегружает
- 23. Оператор перегружает-умноживает матрицу с int в левой части
- 24. C++ Оператор перегружает стили, что лучше для оптимизации?
- 25. C# библиотека перегружает^оператор. Как использовать ** вместо этого?
- 26. Почему std :: basic_ios перегружает унарный логический оператор отрицания?
- 27. Почему мой оператор перегружает ручку влево или вправо?
- 28. Как проверить, что тип перегружает/поддерживает определенный оператор?
- 29. с СТЛ ++ containor хранит класс, который перегружает оператор =
- 30. Как Int32 перегружает операторы?