is/was std::make_array 的目的是什么? C++20 还需要它吗?
What is/was the purpose of std::make_array? Is it still needed in C++20?
我刚刚发现在 library fundamentals TS v2 中有一个 make_array
(std::experimental::make_array
) 模板,它允许从其参数推导数组类型。我想主要目的是启用 auto
的使用,类似于 cppreference 上的示例:
auto x = std::experimental::make_array(1,2,3,4,5);
是否有其他我看不到的动机?
有了 C++20 中新的类型推导工具,人们还能期望 make_array
有一天会成为标准,还是已经过时了?
make_array(1,'2',3,4,5)
或 make_array<float>(1,'2',3,4,5)
有效,而 Class Template Argument Deduction (CTAD) of std::array
只允许相同类型。
我刚刚发现在 library fundamentals TS v2 中有一个 make_array
(std::experimental::make_array
) 模板,它允许从其参数推导数组类型。我想主要目的是启用 auto
的使用,类似于 cppreference 上的示例:
auto x = std::experimental::make_array(1,2,3,4,5);
是否有其他我看不到的动机?
有了 C++20 中新的类型推导工具,人们还能期望 make_array
有一天会成为标准,还是已经过时了?
make_array(1,'2',3,4,5)
或 make_array<float>(1,'2',3,4,5)
有效,而 Class Template Argument Deduction (CTAD) of std::array
只允许相同类型。