В чем преимущества использования библиотек С++ Boost?

Итак, я читал, и кажется, что библиотеки Boost широко используются на практике (но не в моем магазине). Почему это? и что делает его таким замечательным?

Ответ 1

Boost используется так широко, потому что:

  • Он открыт с открытым исходным кодом и проверен экспертами.
  • Он предоставляет широкий диапазон агностической функциональности платформы, которую пропустил STL.
  • Это дополнение к STL, а не замена.
  • Многие из разработчиков Boost находятся в стандартном комитете С++. Фактически, многие части Boost считаются включенными в следующую стандартную библиотеку С++.
  • Это хорошо документировано.
  • license позволяет включать в проекты с открытым исходным кодом и с закрытыми исходными кодами.
  • Его функции обычно не зависят друг от друга, поэтому вы можете связывать только те детали, которые вам нужны. [Люк Хермит комментарий]

Ответ 2

На главной странице:

"... один из самых высоко оцененных и опытно разработанных проектов библиотеки С++ в мире". - Херб Саттер и Андрей Александреску, стандарты кодирования C++

"Пункт 55: ознакомьтесь с Boost." - Скотт Майерс, Эффективный С++, 3-е изд.

"Очевидным решением для большинства программистов является использование библиотеки, которая обеспечивает элегантную и эффективную платформу, независимую от необходимых сервисов. Примерами являются BOOST..."   - Bjarne Stroustrup, Абстракция, библиотеки и эффективность в С++

Итак, это целый ряд широко используемых и принятых библиотек, но зачем вам это нужно?

Если вам нужно:

  • регулярное выражение
  • привязка функции
  • лямбда-функции
  • модульные тесты
  • интеллектуальные указатели
  • noncopyable, необязательный
  • сериализации
  • общие даты
  • портативная файловая система
  • круговые буферы
  • config utils
  • общая библиотека изображений
  • TR1
  • темы
  • uBLAS

и больше, когда вы код на С++, посмотрите Boost.

Ответ 3

Потому что они добавляют много недостающих вещей в стандартную библиотеку, поэтому некоторые из них входят в стандарт.

Усилить людей не лежат:

Почему организация должна использовать Boost?

Одним словом, производительность. Использование высококачественные библиотеки, такие как Boost ускоряет начальную разработку, результаты меньше ошибок, уменьшается переосмысление колес и сокращение долгосрочные расходы на техническое обслуживание. И с тех пор Библиотеки ускорения обычно становятся факто или де-юре, многие программисты уже знакомы с их.

Десять из библиотек Boost включен в стандартную библиотеку С++ TR1, и поэтому планируется позднее стандартизация. Дополнительные библиотеки Boost находятся в трубопроводе для TR2. С помощью Библиотеки Boost предоставляют организации начался процесс принятия новых технологии.

Многие организации уже используют программы реализованный с помощью Boost, например Adobe Acrobat Reader 7.0.

Ответ 4

Несколько классов Boost очень полезны (shared_ptr), но я думаю, что они немного портили черты и понятия в Boost. Время компиляции и огромные бинарные размеры абсолютно безумны с Boost, как в случае с любым шаблоном-тяжелым кодом. Должен быть баланс. Я не уверен, нашел ли Boost его.

Ответ 5

Он добавляет библиотеки, которые позволяют использовать более современный подход к программированию на С++.

По моему опыту, многие программисты на C++ на самом деле являются программистами на С++ в начале 1990-х годов, в значительной степени пишущими классы С++, а не с использованием дженериков. Более современный подход использует обобщения для составления программного обеспечения вместе, что более похоже на динамические языки, но в конце концов вы все равно получаете проверку типов/производительность. Это немного уродливо смотреть. Но как только вы преодолеете проблемы с синтаксисом, это действительно хорошо. Boost дает вам много инструментов, необходимых для легкого составления материала. умные указатели, функции, lambdas, привязки и т.д. Тогда есть библиотеки boost, которые используют этот более новый способ написания С++ для обеспечения таких функций, как создание сетей, регулярное выражение и т.д. и т.д....

если вы пишете много циклов для петель или выполняете функции функции катания или выполняете управление памятью, тогда вам обязательно нужно проверить форсирование.

Ответ 6

BOOST набор библиотек, необходимых для заполнения, для многих проектов на С++. Как правило, они устанавливают приоритетность правильности, многоразового использования, переносимости, производительности во время выполнения и эффективности использования пространства по степени удобочитаемости кода реализации BOOST, а иногда и времени компиляции. Они, как правило, не охватывают полные функциональные требования высокого уровня (например, рамки приложений), а вместо этого (к счастью) предлагают строительные блоки, которые можно более свободно комбинировать, не диктуя или не доминируя над дизайном приложения.

Важными причинами использования BOOST являются:

  • большинство библиотек довольно хорошо протестированы и спроектированы: они, как правило, получают разумный обзор некоторых отличных программистов по сравнению с людьми с решениями home- brew в одном и том же проблемном пространстве и широко используются для сбора обширных реальных данных, мировая обратная связь
  • он уже написан, и ваше решение, вероятно, не
  • довольно портативный (но это зависит от библиотеки)
  • больше людей в сообществе С++ начнут помогать вам с вашим кодом.
  • BOOST часто является доказательством для введения в стандарт С++, поэтому у вас будет меньше работы по переписыванию кода для совместимости с будущими стандартами без BOOST
  • в связи с потребностями сообщества, поставщики компиляторов с большей вероятностью будут тестировать и реагировать на проблемы с использованием BOOST.
  • знакомство с библиотеками boost поможет вам выполнить аналогичную работу над другими проектами, возможно, в других компаниях, где любой код, который вы могли бы написать сейчас, может быть недоступен для повторного использования.

Библиотеки описываются в строке или двух здесь: http://www.boost.org/doc/libs/.

Ответ 7

Поскольку стандартная библиотека С++ не является полной.

Ответ 9

Я использую библиотеку файловой системы немного, и boost:: shared_ptr довольно изящный. Я слышал, что он делает и другие вещи.

Ответ 10

Повысьте, в основном, синопсис того, чем станет Стандарт, кроме того, со всеми экспертными оценками и использованием, которые могут получить Boost, вы можете быть уверены, что вы получаете довольно много для своих зависимостей.

Однако большинство магазинов не используют Boost, потому что это внешняя зависимость. И на самом деле сокращение внешних зависимостей также очень важно.

Ответ 11

Boost - это С++, вроде .NET Framework, для С#, но, возможно, в меньшем масштабе.