c++11的标准库不提供std::make_unique,但是可以用以下方式简单实现:
//make_unique.h
#include<memory>
#include<utility>
template<typename T, typename... Ts>
std::unique_ptr<T> make_unique(Ts&&... params)
{
return std::unique_ptr<T>(new T(std::forward<Ts>(params)...));
}
c++11的标准库不提供std::make_unique,但是可以用以下方式简单实现:
//make_unique.h
#include<memory>
#include<utility>
template<typename T, typename... Ts>
std::unique_ptr<T> make_unique(Ts&&... params)
{
return std::unique_ptr<T>(new T(std::forward<Ts>(params)...));
}