Версия VS10 использует rvalue ссылки и перемещает семантику, когда это возможно, поэтому в принципе имеет преимущество над реализацией Boost C ++ 98. Вам, вероятно, придется приложить немало усилий, чтобы создать программу, которая показала бы значительную практическую разницу, хотя ... но попробуйте. Также не забывайте о std::make_shared
, который является новым в C ++ 0x благодаря пересылке.
Обновление: Разыменование и копирование будут практически идентичны в любом случае. Возможно, есть некоторые интересные различия в том, как хранятся пользовательские средства удаления и выделения, и в том, как реализован make_shared. Позвольте мне проверить источник.
Обновление 2 : как ни странно, версия Boost, в которой определенно используются шаблоны с переменными числами и ссылочные значения выглядит лучше, чем версия VS10, поскольку VS10 не имеет шаблонов с переменными числами и должна использовать ужасные черные искусства, чтобы подделать это поведение. Но это проблема времени компиляции, поэтому она не актуальна.