Итак, я читал и, похоже, библиотеки Boost очень часто используются на практике (хотя и не в моем магазине). Почему это? и что делает его таким прекрасным?
Итак, я читал и, похоже, библиотеки Boost очень часто используются на практике (хотя и не в моем магазине). Почему это? и что делает его таким прекрасным?
Ответы:
Boost так широко используется, потому что:
С домашней страницы:
«... один из самых уважаемых и профессионально разработанных библиотечных проектов C ++ в мире». - Херб Саттер и Андрей Александреску, C ++ Coding Standards
«Пункт 55: Ознакомьтесь с Boost». - Скотт Мейерс, Эффективный C ++, 3-е изд.
«Очевидным решением для большинства программистов является использование библиотеки, которая обеспечивает элегантную и эффективную платформу, независимую от необходимых сервисов. Примеры: BOOST ...» - Бьярн Страуструп, Абстракция, библиотеки и эффективность в C ++
Итак, это ряд широко используемых и принятых библиотек, но зачем он вам?
Если тебе надо:
и многое другое, когда вы пишете код на C ++, обратите внимание на Boost .
Поскольку они добавляют много недостающих вещей в стандартную библиотеку, некоторые из них включаются в стандарт.
Boost люди не врут:
Почему организации следует использовать Boost?
Одним словом, производительность. Использование высококачественных библиотек, таких как Boost, ускоряет начальную разработку, приводит к меньшему количеству ошибок, сокращает необходимость повторного изобретения колеса и сокращает расходы на долгосрочное обслуживание. А поскольку библиотеки Boost, как правило, становятся стандартами де-факто или де-юре, многие программисты уже знакомы с ними.
Десять библиотек Boost включены в TR1 стандартной библиотеки C ++, поэтому в дальнейшем планируется их полная стандартизация. Дополнительные библиотеки Boost находятся в разработке для TR2. Использование библиотек Boost дает организациям фору для внедрения новых технологий.
Многие организации уже используют программы, реализованные с помощью Boost, например Adobe Acrobat Reader 7.0.
Несколько классов Boost очень полезны (shared_ptr), но я думаю, что они немного сошли с ума с чертами и концепциями в Boost. Время компиляции и огромные двоичные размеры совершенно безумны с Boost, как и в случае с любым тяжелым кодом. Должен быть баланс. Я не уверен, нашел ли Boost.
Он добавляет библиотеки, которые позволяют использовать более современный подход к программированию на C ++.
По моему опыту, многие программисты на C ++ на самом деле являются программистами на C ++ начала 1990-х годов, в значительной степени пишущими классы на C ++, а не использующие универсальные шаблоны. Более современный подход использует дженерики для компоновки программного обеспечения в манере, которая больше похожа на динамические языки, но в итоге вы все равно получаете проверку типов / производительность. Это немного некрасиво на вид. Но как только вы преодолеете проблемы с синтаксисом, это действительно будет здорово. Boost дает вам множество инструментов, необходимых для легкой компоновки. интеллектуальные указатели, функции, лямбды, привязки и т. д. Кроме того, существуют библиотеки ускорения, которые используют этот новый способ написания C ++ для обеспечения таких вещей, как работа в сети, регулярное выражение и т. д.
Если вы пишете много циклов for, или вручную прокручиваете объекты функций, или занимаетесь управлением памятью, вам определенно следует проверить boost.
BOOST - это набор библиотек для заполнения потребностей, общих для многих проектов на C ++. Как правило, они отдают приоритет правильности, возможности повторного использования, переносимости, производительности во время выполнения и экономии места над удобочитаемостью кода реализации BOOST или, иногда, временем компиляции. Они, как правило, не покрывают полные функциональные требования высокого уровня (например, каркасы приложений), а вместо этого (к счастью) предлагают строительные блоки, которые можно более свободно комбинировать, не диктуя и не доминируя в дизайне приложения.
Важные причины, по которым стоит рассмотреть возможность использования BOOST:
Библиотеки описаны здесь парой строк: http://www.boost.org/doc/libs/ .
Потому что стандартная библиотека C ++ не так уж и полна .
Следует принимать во внимание все, что связано с участием Кевлина Хенни .
Повысьте, в основном, синопсис того, чем станет Стандарт, кроме того, благодаря всем экспертным обзорам и использованию, которые дает Boost, вы можете быть уверены, что получите неплохую сделку для ваших зависимостей.
Однако большинство магазинов не используют Boost, потому что это внешняя зависимость. И на самом деле уменьшение внешних зависимостей также очень важно.
Я немного использую библиотеку файловой системы, и boost :: shared_ptr довольно изящный. Я слышал, что он делает и другие вещи.