我刚刚发现在库基础 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)的 std::array
只允许相同类型。
关于c++ - std::make_array 的目的是什么? C++20 中还需要它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59289612/