Herb Sutter предлагает простую реализацию make_unique()
там: http://herbsutter.com/gotw/_102/
Вот он:
template<typename T, typename ...Args>
std::unique_ptr<T> make_unique( Args&& ...args )
{
return std::unique_ptr<T>( new T( std::forward<Args>(args)... ) );
}
Моя проблема в том, что вариативные шаблоны еще не являются частью VS2012, поэтому я не могу использовать этот код как есть.
Есть ли поддерживаемый способ записи этого в VS2012, который не включал бы копирование в одну и ту же функцию с разными аргументами args?