C++20增加了std::to_array
,这样你就可以很容易地从C风格数组创建std::array
,例如:
template<typename T, std::size_t N>
void foo(const T (&a)[N]) {
auto arr = std::to_array(a);
}
但是,std::to_array
不支持二维数组,因此以下命令将不起作用:
auto arr = to_array({1, 2}, {3, 4});
是否可以手动实施?
C++20增加了std::to_array
,这样你就可以很容易地从C风格数组创建std::array
,例如:
template<typename T, std::size_t N>
void foo(const T (&a)[N]) {
auto arr = std::to_array(a);
}
但是,std::to_array
不支持二维数组,因此以下命令将不起作用:
auto arr = to_array({1, 2}, {3, 4});
是否可以手动实施?
1条答案
按热度按时间njthzxwz1#
它是可以实现的,以下几种方法也可以:
下面是the code:
使用以下帮助程序:
以上仅支持2D数组。要支持3D数组we can add:
使用名称空间
detail
中的以下帮助器: