Итак, я читал, и кажется, что библиотеки Boost широко используются на практике (но не в моем магазине). Почему это? и что делает его таким замечательным?
В чем преимущества использования библиотек С++ Boost?
Ответ 1
Boost используется так широко, потому что:
- Он открыт с открытым исходным кодом и проверен экспертами.
- Он предоставляет широкий диапазон агностической функциональности платформы, которую пропустил STL.
- Это дополнение к STL, а не замена.
- Многие из разработчиков Boost находятся в стандартном комитете С++. Фактически, многие части Boost считаются включенными в следующую стандартную библиотеку С++.
- Это хорошо документировано.
- license позволяет включать в проекты с открытым исходным кодом и с закрытыми исходными кодами.
- Его функции обычно не зависят друг от друга, поэтому вы можете связывать только те детали, которые вам нужны. [Люк Хермит комментарий]
Ответ 2
На главной странице:
"... один из самых высоко оцененных и опытно разработанных проектов библиотеки С++ в мире". - Херб Саттер и Андрей Александреску, стандарты кодирования C++
"Пункт 55: ознакомьтесь с Boost." - Скотт Майерс, Эффективный С++, 3-е изд.
"Очевидным решением для большинства программистов является использование библиотеки, которая обеспечивает элегантную и эффективную платформу, независимую от необходимых сервисов. Примерами являются BOOST..." - Bjarne Stroustrup, Абстракция, библиотеки и эффективность в С++
Итак, это целый ряд широко используемых и принятых библиотек, но зачем вам это нужно?
Если вам нужно:
- регулярное выражение
- привязка функции
- лямбда-функции
- модульные тесты
- интеллектуальные указатели
- noncopyable, необязательный
- сериализации
- общие даты
- портативная файловая система
- круговые буферы
- config utils
- общая библиотека изображений
- TR1
- темы
- uBLAS
Ответ 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
Поскольку стандартная библиотека С++ не является полной.
Ответ 8
Все, что связано с участием Кевлина Хенни.
Ответ 9
Я использую библиотеку файловой системы немного, и boost:: shared_ptr довольно изящный. Я слышал, что он делает и другие вещи.
Ответ 10
Повысьте, в основном, синопсис того, чем станет Стандарт, кроме того, со всеми экспертными оценками и использованием, которые могут получить Boost, вы можете быть уверены, что вы получаете довольно много для своих зависимостей.
Однако большинство магазинов не используют Boost, потому что это внешняя зависимость. И на самом деле сокращение внешних зависимостей также очень важно.
Ответ 11
Boost - это С++, вроде .NET Framework, для С#, но, возможно, в меньшем масштабе.