Что произойдет с перекрывающейся частью повышения после того, как С++ 0x станет основным?

что произойдет с перекрывающейся частью boost после того, как С++ 0x станет основным?

Будут все еще содержать все, что он использовал, или они адаптируют библиотеку, чтобы обновить ее с помощью нового файла std:: stuff?

У вас будет нормальная версия С++ и версия С++ 0x, которую они будут поддерживать?

Ответы

Ответ 1

Можно надеяться на, что Boost продолжает поддерживать существующие классы по нескольким причинам.

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

Во-вторых, перекрывающиеся реализации позволяют мне выбрать, какой я предпочитаю использовать. Может быть какая-то разница между std:: Frob и Boost:: Frob, что важно для моего проекта, и выбор хороший.

В долгосрочной перспективе я ожидал бы перехода к стандарту как от авторов приложений, так и от поставщиков инструментов. Это делает его менее рискованным выбором: std::.

Ответ 2

Я не связан с Boost и не знаю, что они будут делать, но похоже, что Boost останется нетронутым.

Уже был выпущен TR1 (пакет функций VS 2008), а Boost остался нетронутым. Поскольку многие пользователи еще не приняли Boost или TR1, мое предсказание заключается в том, что по крайней мере в ближайшие пять лет boost и С++ 0x библиотеки будут существовать в разных пространствах имен и доступны для пользователей С++ 0x, а также для пользователей С++.

Ответ 3

Пространства имен делают это несколько неэмиссией для разработчиков Boost. Прямой конкуренции между библиотеками boost и стандартными библиотеками нет, потому что они существуют в разных пространствах имен. Следовательно, изменения в пространстве имен std (например, добавление std:: tr1) не оказывают прямого воздействия на Boost.

Обратите внимание, что если вы импортируете обе библиотеки (std и boost) в глобальное пространство имен, тогда у вас будут проблемы.

Следующая цитата из документации Boost TR1 также проливает свет на то, что Boost реализует компоненты TR1, предполагая, что соответствующая библиотека Boost будет поддерживаться в обозримом будущем:

Библиотека TR1 предоставляет внедрение С++ Technical Отчет о стандартных расширениях библиотек. Эта библиотека сама не реализует компоненты TR1, а тонкие обертка, которая будет включать ваши стандартная реализация библиотеки TR1 (если он есть), в противном случае включают эквиваленты Boost Library, и импортировать их в пространство имен std:: tr1.

Ответ 4

Вы имеете в виду tr1?

Boost уже поддерживает tr1. Все классы от boost, которые были приняты в std:: tr1, доступны в этом пространстве имен из boost. См. Следующую документацию.

http://www.boost.org/doc/libs/1_37_0/doc/html/boost_tr1.html