如何std::array
通过初始化列表初始化嵌套(2D)?
template <std::size_t W, std::size_t H>
class Block
{
std::array<std::array<int, W>, H> block;
public:
template <typename ...E>
Block(E&&...e) : block {{std::forward<E>(e)...}} {}
};
该类Block
应该能够block
如下初始化成员:
Block<3, 2> b {{ {1, 2, 3}, {4, 5, 6} }};
注意:我们可以std::array
直接在 C++11 中初始化:
std::array<std::array<int, 3>, 2> b {{ {1, 2, 3}, {4, 5, 6} }};
我正在使用 gcc-4.9.0