【发布时间】:2020-02-24 04:21:39
【问题描述】:
我有一个std::array,我有一个可变参数模板函数,其参数数量与数组的大小相匹配。我需要将参数分配给数组的元素。换句话说,在下面的代码中我希望a 获取值{1, 2, 3} 和b 获取值{1, 2, 3, 4, 5}
std::array<int, 3> a;
std::array<int, 5> b;
assign_values(a, 1, 2, 3);
assign_values(b, 1, 2, 3, 4, 5);
问题是如何实现assign_values可变参数模板函数。
我受限于 C++14 版本。
更新:
参数可以是不同的类型:assign_values(b, 1, 2u, 3., '4', 5l);
【问题讨论】:
-
我很困惑:如果你可以使用 C++14,为什么这会被标记为 C++11?
-
@Chipster 这只是意味着我可以使用 C++11 但不能使用 C++17。我的问题中没有特定于 C++14 的内容。
-
知道了。不过我的事情是,由于大多数 C++ 版本都是向后兼容的,最好将您可以用作标签的最新版本放在哪里?这只是我的思考过程。不过,您当然不必这样标记它。