以下代码不会编译通过,除非在initializer_list前加上constexpr关键字:
constexpr std::initializer_list<int> il = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
};
std::array<int, il.size()> a;
但是initializer_list的大小是constexpr的:
constexpr size_type size() const;
constexpr std::initializer_list<int> li = {..};
在 C++11 中是否有效;它将在 C++1y 中生效。 - dyp