Использовать расширенные библиотеки С++?
Возможный дубликат:
Boost Library
Часто, когда я пытался (и не выполнял) проект С++, я запускаю Boost при просмотре веб-страниц. Я пробовал читать веб-сайт Boost, но не было хорошего короткого описания, почему использовать Boost и что это именно так.
Одна из вещей, которые мне очень нравятся в Python, заключается в том, что все это встроенные и кросс-платформенные, веб-запросы, электронная почта, XML, JSON и т.д. Это также относится к Boost?
Итак, достаточно напыщенности, мои конкретные ответные вопросы:
- Что такое Boost?
- Каковы наиболее важные причины использования Boost?
- Это полностью кросс-платформенный?
- Это более "безопасный", а затем обычный домашний код brew, где вы быстро упускаете из вида переполнение буфера и т.д.?
- Есть ли ссылка на страницу, описывающую все модули Boost в одном или двух предложениях?
Ответы
Ответ 1
Что такое Boost?
Boost представляет собой набор полезных и чрезвычайно высококачественных библиотек для С++, которые дополняют небольшую стандартную библиотеку.
Каковы наиболее важные причины использования Boost?
Boost предлагает высококачественные инструменты, отсутствующие на С++. Их использование чрезвычайно разнообразно, поэтому, будь то Boost для вас, полностью зависит от ваших потребностей. Но я могу с уверенностью сказать, что всякая достаточно большая база кода на С++ выиграет от использования Boost.
Некоторые из наиболее универсальных частей - это shared_ptr
(интеллектуальный указатель с подсчетом ссылок, который помогает предотвратить утечку памяти в коде, богатом указателем), array
, который обеспечивает очень удобную оболочку вокруг массивов C-стиля фиксированного размера и другие небольшие нечетные биты, которые были интегрированы в следующий стандарт С++.
Это полностью кросс-платформенный?
Почти всегда да. Это одно из главных качеств Boost.
Есть ли ссылка на страницу, описывающую все модули Boost в одном или двух предложениях?
Действительно.
Ответ 2
Что такое Boost?
Boost - это набор библиотек С++, которые помогут вам избежать написания специального кода для решения общих проблем.
Каковы наиболее важные причины использования Boost?
Boost избавляет вас от необходимости разрабатывать, реализовывать и тестировать предлагаемые решения. Это избавит вас от огромного количества времени и поможет вам избежать ошибок на этом пути.
Это полностью кросс-платформенный?
Boost поддерживает множество платформ, иногда решения для общественного питания могут быть эффективными на конкретных платформах. Вы можете увидеть платформы, на которых он был протестирован, в нижней части текущей версии страница под заголовком "Сопроводители тестов".
Это более "безопасный", а затем обычный домашний код brew, где вы быстро упускаете из вида тот переполнение буфера и т.д.
Да, если у вас есть много времени, чтобы провести тестирование вашего кода. Boost включает в себя автоматизированный набор тестов и тестируется сотнями тысяч, если не миллионами разработчиков, через ежедневное использование. В нем также есть много документации, которая поможет вам разработать библиотеки, в которые она входит. Boost не только более безопасен, чем большинство домашних пивоваренных кодов, но и, в целом, более эффективен.
Есть ли ссылка на страницу, описывающую все модули Boost в одно или два предложения?
Страница Boost Документация по библиотеке предлагает одно предложение резюме всех библиотек в Boost.
Ответ 3
1) Boost - это набор API-интерфейсов, разработанных некоторыми из лучших умов на С++. Вы можете использовать столько, сколько хотите. Каждый API нацелен и решает определенную парадигму. Например:
lexical_cast<> - Type-safe ways of casting from one type to another.
program_options - Library for parsing command lines in a type-safe manner
asio - Asynchronous Input/Output. Great for working with sockets, IP4/IP6
shared_ptr - Reference-counted smart pointer
... и многое другое.
2) Одна из самых важных причин использования Boost заключается в том, что великие разработчики, которые это сделали, хорошо сделали. Эти решения рецензируются и надежны. Если у вас есть проблема, и у Boost есть API, который подходит для счета, скорее всего, вы должны его использовать.
3) Это как кросс-платформенный, как вы собираетесь получить. то есть, да.
4) Я бы использовал повышение над любым домашним кодом. Homebrew обычно используется одним разработчиком (человеком, который его закодировал). Boost используется в коммерческих приложениях повсюду, и, как я сказал ранее, он рецензируется. Вы не получаете гораздо более надежного, чем это.
5) На главной странице повышения есть список библиотек по функциям и в алфавитном порядке.
Ответ 4
Boost - это набор классов и других вещей для С++, которые отсутствуют в STL. Многие библиотеки Boost включены в новый стандарт С++. Его определенно намного безопаснее, чем вы могли бы придумать, поскольку этот код широко используется и проверяется экспертами. Его типично полная кросс-платформа, но могут быть некоторые gotchas.
Что касается повышения, проверьте это: http://www.boost.org/doc/libs/1_45_0/?view=categorized
Ответ 5
BOOST набор библиотек, необходимых для заполнения, для многих проектов на С++. Как правило, они устанавливают приоритетность правильности, многоразового использования, переносимости, производительности во время выполнения и эффективности использования пространства по степени удобочитаемости кода реализации BOOST, а иногда и времени компиляции. Они, как правило, не охватывают полные функциональные требования высокого уровня (например, рамки приложений), а вместо этого (к счастью) предлагают строительные блоки, которые можно более свободно комбинировать, не диктуя или не доминируя над дизайном приложения.
Важными причинами использования BOOST являются:
- большинство библиотек довольно хорошо протестированы и спроектированы: они, как правило, получают разумный обзор некоторых отличных программистов по сравнению с людьми с решениями home- brew в одном и том же проблемном пространстве и широко используются для сбора обширных реальных данных, мировая обратная связь
- он уже написан, и ваше решение, вероятно, не
- довольно портативный (но это зависит от библиотеки)
- больше людей в сообществе С++ начнут помогать вам с вашим кодом.
- BOOST часто является доказательством для введения в стандарт С++, поэтому у вас будет меньше работы по переписыванию кода для совместимости с будущими стандартами без BOOST
- в связи с потребностями сообщества, поставщики компиляторов с большей вероятностью будут тестировать и реагировать на проблемы с использованием BOOST.
Библиотеки описываются в строке или двух здесь: http://www.boost.org/doc/libs/.
Ответ 6
Что-нибудь, что увеличить страницу в википедии не отвечает?