【发布时间】:2017-05-12 22:34:43
【问题描述】:
是否可以使用std:fill 填充unique_ptrs 的数组?目的是使不同的对象具有不同的指针,这些对象使用相同的参数进行初始化。
例如:
std::unique_ptr<int> ar[3];
std::fill(ar.begin(), ar.end(), make_unique_for_each_element_somehow<int>(1));
【问题讨论】:
-
std::array和std::initializer_list是一个选项吗? -
std::array是一个选项,但目的不是重复相同的填充元素N次 -
这就是为什么我提出
std::initializer_list(或者干脆{}初始化)。 -
@Light 太棒了。我每天都在这里学到新东西。
-
@πάνταῥεῖ:我也没有意识到这一点,但花了整整 10 秒的时间来假设有一个
std::fill重载或兄弟函数完成了这项工作。然后 10 秒通过 cppreference 确认 :)
标签: c++ arrays c++11 c++14 unique-ptr