可能重复:
make_unique和完美转发
为什么C++ 11有make_shared模板,但不是make_unique模板?
这使得代码非常不一致.
auto x = make_shared<string>("abc");
auto y = unique_ptr<string>(new string("abc"));
Run Code Online (Sandbox Code Playgroud)
jua*_*nza 57
据Herb Sutter在本文中说,这"部分是疏忽".本文包含一个很好的实现,并强有力地使用它:
template<typename T, typename ...Args>
std::unique_ptr<T> make_unique( Args&& ...args )
{
return std::unique_ptr<T>( new T( std::forward<Args>(args)... ) );
}
Run Code Online (Sandbox Code Playgroud)
更新:原始更新已更新,重点已更改.
| 归档时间: |
|
| 查看次数: |
32397 次 |
| 最近记录: |