Я просмотрел как Named Parameter Idiom, так и Boost::Parameter library. Какие преимущества у каждого есть над другим? Есть ли веская причина всегда выбирать один за другим, или каждый из них может быть лучше другого в некоторых ситуациях (и если да, то какие ситуации)?C++ «Именованный идентификатор параметров» против Boost :: Библиотека параметров
ответ
Реализация Именованного Идиома Параметров действительно проста, почти так же просто, как использование Boost :: Parameter, поэтому это сводится к одной основной точке.
-Вы уже имеете зависимости от перенапряжения? Если вы этого не сделаете, параметр Boost :: не является достаточно специальным, чтобы заслужить добавление зависимости.
Лично я никогда не видел Boost :: parameter в производственном коде, в 100% случаев это была обычная реализация Именованных параметров, но это не обязательно хорошо.
Никогда не слышал об этом, но просмотр ссылок, именованный параметр WAY проще и понятнее. Я бы выбрал это в мгновение ока над реализацией форсирования.
Идиома Именованного параметра является более простой. Я не вижу (прямо сейчас), почему нам нужна сложность библиотеки Boost :: Parameter. (Даже предполагаемая «функция» Выведенные параметры, похоже, способ ввести ошибки кодирования;))
Обычно я большой поклонник Boost, но я бы не использовал библиотеку Boost.Parameter для пары причин:
- Если вы не знаете, что происходит, вызов выглядит как вы присваиваете значение переменной в рамках на вызывающей функции перед тем сделать звонок. Это может быть очень неприятно .
- Слишком много шаблонов, необходимых для его настройки в первую очередь.
Вы, вероятно, не хотите Boost.Parameter для общей логики приложения столько, сколько захотите, для кода библиотеки, который вы разрабатываете, где это может быть довольно экономичным временем для клиентов библиотеки.
Еще один момент, в то время как я никогда не использовал Именованный идентификатор параметра, я использовал параметр Boost Parameter для определения до 20 необязательных аргументов. И время моего компиляции безумно. То, что раньше занимало пару секунд, теперь занимает 30 секунд. Это добавляется, если у вас есть библиотека вещей, которые используют одно небольшое приложение, которое вы написали с помощью параметра boost. Конечно, я мог бы ошибочно реализовать это, но я надеюсь, что это изменится, потому что, кроме этого, мне это очень нравится.
- 1. Именованный маршрут с форматом параметров
- 2. Понимание параметров MultiArray Boost
- 3. Библиотека проверки параметров
- 4. Джанго __init __() получила неожиданный именованный аргумент '' параметров
- 5. C++ передача параметров массива против отдельных элементов
- 6. C++ перечисление параметров дает ошибку идентификатор
- 7. Сохраненные процедуры против привязки параметров
- 8. «вар» против «это» против переменных конструктора-параметров
- 9. Библиотека PHP для получения параметров командной строки и параметров
- 10. Функция перегрузки против дополнительных параметров
- 11. Проверка параметров против служебной функции вызова функции
- 12. Отправка параметров в DLL для boost :: bind'ed
- 13. Передача boost :: bind параметров в качестве аргументов
- 14. Никаких параметров шаблона, необходимых в boost :: pool
- 15. Библиотека для оптимизации/сканирования параметров методом
- 16. Библиотека Java для анализа параметров командной строки?
- 17. Правило сохранения ограничений параметров параметров параметров маршрута
- 18. Синтаксическое представление параметров параметров
- 19. Обработка параметров параметров пружины
- 20. Переопределение формальных параметров C++
- 21. Кастинг C# вне параметров?
- 22. Передача ... параметров в C
- 23. Атрибуты параметров в C#
- 24. C# Установка параметров объекта
- 25. C# вне параметров обмана?
- 26. параметров командной строки C++
- 27. C++ обработка недопустимых параметров
- 28. C# Generic Несколько параметров
- 29. Определение общих параметров C#
- 30. передачи параметров в C++
Я понятия не имел о них обоих. Просто ушли, хотя они оба. Спасибо Geek – 2008-10-15 15:14:52
Недостаточно для ответа: код с использованием `Boost :: Parameter` всегда включает неявное непроверенное преобразование, +1 к именованному параметру idiom – bobah 2014-02-12 18:58:37
Может ли кто-нибудь добавить ссылку на рабочую страницу« named parameter idiom »? – xaxxon 2015-12-03 00:55:54