Что произойдет с перекрывающейся частью повышения после того, как С++ 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