小编mic*_*915的帖子

为数值数组创建别名

我想创建一个std::array只有数字类型的别名

template<typename T, std::size_t n, T = std::is_arithmetic<T>::value>
using NumericArray = std::array<T, n>;
Run Code Online (Sandbox Code Playgroud)

这适用于整数

NumericArray<int, 2> i{1, 2};
Run Code Online (Sandbox Code Playgroud)

但是,如果我想要一个浮点数或双精度,我会因非类型模板参数而出错

NumericArray<float, 2> f{1.0f, 2.0f};
Run Code Online (Sandbox Code Playgroud)

还有其他方法可以做到这一点吗?

c++ c++11 c++14

9
推荐指数
2
解决办法
409
查看次数

标签 统计

c++ ×1

c++11 ×1

c++14 ×1