Можно ли использовать Boost в качестве полной замены стандартной библиотеки C ++?

Скажем, у меня есть минимальные заголовки, такие как <new>, <initializer_list>и, возможно, какие-то другие вещи, возможно ли использовать Boost для работы в качестве стандартной библиотеки C ++ или много кода отсутствует?

Я предполагаю стандартную библиотеку C, которая может иметь отстойные версии таких вещей, как printf (думаю, Windows), Boost обеспечит лучшую реализацию в <boost/cstddef> (или что-то)?

5

Решение

Нет. Boost не предназначен для замещать стандартная библиотека C ++; он предназначен для дополнение а также простираться стандартная библиотека C ++. Кроме того, Boost сильно зависит от стандартной библиотеки C ++.

6

Другие решения

Ну нет. Например, Boost не определяет поток, инкапсулирующий стандартный выход. Конечно, вы можете использовать STDOUT сам с некоторыми низкоуровневыми функциями, но с помощью этой логики вы можете делать практически все без использования стандартной библиотеки.

4

Я бы порекомендовал использовать Boost или любые другие действительно кроссплатформенные библиотеки для всего, что даже отдаленно может зависеть от платформы. Сеть / блокировка и т. Д.

Во всем остальном я бы придерживался стандартных библиотек — они хорошо документированы, они часто оптимизированы для ОС и, за исключением нескольких ifdef, которые вам, возможно, придется терпеть здесь и там, они скомпилируются и будут работать нормально на большинстве платформ.

0
По вопросам рекламы [email protected]