Что предпочтительнее? между двумя? например, в сортировке массивов, было бы более практичным использовать предопределенную функцию сортировки чем создание ваша собственная сортировка?Пользовательские функции против встроенных/предопределенных функций
ответ
Как правило, заданные функции лучше, если они существуют. Они, как правило, оптимизированы для работы в течение наименьшего промежутка времени, независимо от того, какой вход (они оптимизируются на основе типа ввода и размера). Действительно, единственная причина, по которой вы должны определить что-то, - это если функциональность заранее определенного кода не соответствует определенному требованию, которое у вас есть. Например, может быть функция поиска, которая была предварительно определена и возвращает логическое значение, но вам нужно знать индекс найденного элемента.
Короче говоря: часто лучше использовать предопределенные, если определено.
Используйте только определенные пользователем функции, если предварительно определенная функция не соответствует вашей потребности в «очень хорошей» причине. Никогда не рекомендуется изобретать велосипед
это нормально использовать предварительно определенную функцию, не имея ни малейшего представления о том, как это делается? –
Прилежный программист всегда пытается понять, как реализованы встроенные функции. По той причине, что он каждый раз выбирает среди множества решений и должен сделать лучший выбор, чтобы соответствовать его потребностям. Более того, чтобы знать, уместно ли кодирование его собственной функции или нет по сравнению с существующими.
Часто встроенные функции оптимизированы для лучшего, но иногда вам потребуется более точная или быстрая реализация, и вам придется выполнять свою собственную версию.
Пример: Если необходимо вычислить пересечение между двумя std::set
целыми числами (C++ STL), вы получите очень низкую производительность на больших наборах. Если быстро вычислить ваш приоритет, напишите собственное представление набора. Here - пример, где мне приходилось делать такое.
Примечание: Как указано TGH, это Never good to reinvent the wheel
. Поэтому перед тем, как внедрить свою собственную функцию, вы также должны попытаться выяснить, не была ли уже написана качественная библиотека сторонних разработчиков (независимо от требований к лицензии). Таким образом, вы можете использовать его напрямую или получить от него вдохновение.
Встроенная функция является предопределенной функцией или оператором или оператором, который поставляется вместе с программой, используемой программой i c. , в то время как пользовательская функция представляет собой автономные строительные блоки оператора, которые написаны пользователем для вычисления значения или для программирования задачи, они могут быть вызваны основной функцией в соответствии с требованием вызываемой функции.
- 1. OSRM функции против функций GoogleMaps
- 2. частные функции против вложенных функций
- 3. Статические функции против константных функций
- 4. Встроенные функции против библиотечных функций
- 5. Именованные функции против анонимных функций
- 6. SQL-пользовательские функции против разветвления хранимых процедур
- 7. Встроенные функции/методы против собственных функций/методов?
- 8. Javascript Обещает явные функции против встроенных функций
- 9. Получить и установить функции против Реферировано функций
- 10. C++ производные функции против базовых функций
- 11. Scala: нормальные функции против чередующихся функций?
- 12. Выходы: функции против функций, назначаемых переменным
- 13. __inline функции против нормальных функций в C
- 14. Функции экземпляра против функций класса в Ruby
- 15. Перегрузка функций против функции инициализации переменной
- 16. пользовательские функции/пользовательские функции
- 17. SpreadsheetGear Пользовательские описания функций
- 18. Функция против функций (методов)
- 19. Функционалы шаблонов против функций
- 20. VBA - Пользовательские петли функций
- 21. Эффективность простых функций против непосредственных функций?
- 22. Глобальные против функций-членов
- 23. Возврат против возврата функций?
- 24. класс против функций Oop
- 25. Google Spreadsheet Пользовательские разрешения функций
- 26. Реализация функций против исправления ошибок
- 27. Как обновить пользовательские функции
- 28. Методы Java против функций
- 29. Интерфейс против записи функций
- 30. PDO против функций MySQL
это нормально использовать предварительно определенную функцию без каких-либо или малое представление о том, как это делается? –
Если вам нужно быстро закодировать и «проверить ошибку», ответ может быть да, но в большинстве случаев ответ будет Нет. См. Мой ответ ниже. –
Я знаю, я просто использовал 3 раза слово «ответ» в том же предложении. Вероятно, это может быть факторизовано. Здесь нужно было бы оптимизировать. Может быть, встроенная функция может это сделать, но даст ли он мне приятный или даже понятный результат? –