Скажем, у меня есть минимальные заголовки, такие как <new>
, <initializer_list>
и, возможно, какие-то другие вещи, возможно ли использовать Boost для работы в качестве стандартной библиотеки C ++ или много кода отсутствует?
Я предполагаю стандартную библиотеку C, которая может иметь отстойные версии таких вещей, как printf
(думаю, Windows), Boost обеспечит лучшую реализацию в <boost/cstddef>
(или что-то)?
Нет. Boost не предназначен для замещать стандартная библиотека C ++; он предназначен для дополнение а также простираться стандартная библиотека C ++. Кроме того, Boost сильно зависит от стандартной библиотеки C ++.
Ну нет. Например, Boost не определяет поток, инкапсулирующий стандартный выход. Конечно, вы можете использовать STDOUT
сам с некоторыми низкоуровневыми функциями, но с помощью этой логики вы можете делать практически все без использования стандартной библиотеки.
Я бы порекомендовал использовать Boost или любые другие действительно кроссплатформенные библиотеки для всего, что даже отдаленно может зависеть от платформы. Сеть / блокировка и т. Д.
Во всем остальном я бы придерживался стандартных библиотек — они хорошо документированы, они часто оптимизированы для ОС и, за исключением нескольких ifdef, которые вам, возможно, придется терпеть здесь и там, они скомпилируются и будут работать нормально на большинстве платформ.