stdarray

Why does std::array not have an constructor that takes a value for the array to be filled with?

为君一笑 提交于 2019-11-26 09:38:32
问题 Is the absence of std::array<T,size>::array(const T& value); an oversight? It seems mighty useful to me, and dynamic containers (like std::vector ) do have a similar constructor. I am fully aware of std::array<T,size>::fill(const T& value); but that is not a constructor, and the memory will be zeroed out first. What if I want all -1 \'s like this guy? 回答1: std::array is, by design, an aggregate, so has no user-declared constructors. As you say, you could use fill after default constructing.