是否
std::make_unique<double[]>(1000)
Run Code Online (Sandbox Code Playgroud)
总是价值初始化元素?好吧,我调查了实现,clang并且g++正在使用
new T[size]()
Run Code Online (Sandbox Code Playgroud)
做值初始化.
但是我无法找到的C++17分之14一个一致的实现具有做到这一点.
如果标准库符合C++ 14那么是的,它必须这样做(使用new T[size]).来自C++14§20.8.1.4[unique.ptr.create]/4:
template <class T> unique_ptr<T> make_unique(size_t n);
- 返回:
unique_ptr<T>(new remove_extent_t<T>[n]()).
| 归档时间: |
|
| 查看次数: |
354 次 |
| 最近记录: |