3

我注意到std::is_arithmetic<std::valarray<float>>评估为false. 不是 valarrays 的全部意义在于促进重载标量代码以“自动矢量化”而不求助于 boost 等?

为什么它不继承其模板类型的算术属性?

我的问题不一定是问题,而是我的基本误解,因为如果这确实是有意的,我一定会错过一些哲学见解。

4

1 回答 1

6

std::is_arithmetic告诉您该类型是基本数字类型,如整数或浮点数。它不适用于课程。而且你不能自己专门化它,所以你不能“修复”它,但你可以编写自己的类型特征来做你想做的任何事情。

顺便说一句,std::is_array<std::array<int, 5>>也是假的!

于 2020-07-12T10:19:49.790 回答