Boost - это, по существу, библиотека С++ 03 (которая стимулировала стандарт С++ 11). Я рассматриваю возможность использования некоторых дополнительных библиотек (те, которые не реализованы в С++ 11). Если я использую С++ 11, ускоряет компиляцию (могут быть проблемы с не скопируемыми, но перемещаемыми объектами)? и насколько хорошо повышается использование возможностей С++ 11 (вариативные шаблоны - очевидная вещь для использования [некоторыми ускорительными библиотеками], а не для большей части увеличения MPL)? (Я не мог найти это среди часто задаваемых вопросов).
Насколько хорошо работает С++ 11?
Ответ 1
Boost движется в направлении использования возможностей С++ 11.
Но одна вещь, которую нужно помнить, это то, что boost не является "библиотекой", а скорее набором библиотек. Некоторые из них (например, boost::array
), вероятно, никогда не будут обновлены, чтобы использовать многие возможности С++ 11. Почему это должно быть, когда у вас есть std::array
в стандарте (который был основан на boost::array
?)
С другой стороны, Boost хотел бы оставаться полезным для людей, которые все еще используют С++ 03.
Примечание. Несмотря на то, что я пишу, как будто "Boost" - это монолитная сущность, есть много людей, которые способствуют росту, и у них много разных мнений.; -)
Чтобы узнать, как работают различные ускорительные библиотеки с компиляторами С++ 11, вы можете проверить веб-страницу Boost Testing.
Ответ 2
С++ 11 был сделан как можно более обратная совместимость. Если boost не использует зарезервированные ключевые слова, которые являются новыми для С++ 11, нет причин, по которым я знаю, почему он не должен компилироваться с новым стандартом.