【发布时间】:2017-05-06 14:52:25
【问题描述】:
我们可以用= { ' ', ' ', ' ' } 来初始化std::array<char, 3>,但是如果大小是由模板参数N 给出的呢?我们不能做类似std::string::string(size_type count, CharT ch) 的事情,用给定的ch 填充实例吗?
我应该看看std::integer_sequence 吗?
【问题讨论】:
-
你可以随时fill定义后的数组。
-
@Someprogrammerdude 你说的只是非
const数组。使用const,它会变得和const std::array<char, N> arr([&arr, ch] { std::remove_const_t<decltype(arr)> tmp; std::fill_n(tmp.begin(), tmp.size(), ch); return tmp; }());一样丑陋,好吧,这是可行的,但是......
标签: c++ arrays c++11 templates constructor