Подтвердить что ты не робот

Использовать расширенные библиотеки С++?

Возможный дубликат:
Boost Library

Часто, когда я пытался (и не выполнял) проект С++, я запускаю Boost при просмотре веб-страниц. Я пробовал читать веб-сайт Boost, но не было хорошего короткого описания, почему использовать Boost и что это именно так.

Одна из вещей, которые мне очень нравятся в Python, заключается в том, что все это встроенные и кросс-платформенные, веб-запросы, электронная почта, XML, JSON и т.д. Это также относится к Boost?

Итак, достаточно напыщенности, мои конкретные ответные вопросы:

  • Что такое Boost?
  • Каковы наиболее важные причины использования Boost?
  • Это полностью кросс-платформенный?
  • Это более "безопасный", а затем обычный домашний код brew, где вы быстро упускаете из вида переполнение буфера и т.д.?
  • Есть ли ссылка на страницу, описывающую все модули Boost в одном или двух предложениях?
4b9b3361

Ответ 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/.