c++

c++,第1张

1 std::is_arithmetic
//头文件 
		
template< class T >
struct is_arithmetic;
		(since C++11)

        功能:如果 T 是算术类型(即整数类型或浮点类型)或其 cv 限定版本(cv-qualified version thereof),则提供等于 true 的成员常量值。 对于任何其他类型,值为 false。

        拓展定义:

template< class T >
inline constexpr bool is_arithmetic_v = is_arithmetic::value;
		(since C++17)

        一种实现方法:

template< class T >
struct is_arithmetic : std::integral_constant::value ||
                                              std::is_floating_point::value> {};

        示例代码:

#include 
#include 
 
class A {};
 
int main()
{
    std::cout << std::boolalpha
        << "A:           " << std::is_arithmetic_v           << '\n' // false
        << "bool:        " << std::is_arithmetic_v        << '\n' // true
        << "int:         " << std::is_arithmetic_v         << '\n' // true
        << "int const:   " << std::is_arithmetic_v   << '\n' // true
        << "int &:       " << std::is_arithmetic_v        << '\n' // false
        << "int *:       " << std::is_arithmetic_v        << '\n' // false
        << "float:       " << std::is_arithmetic_v       << '\n' // true
        << "float const: " << std::is_arithmetic_v << '\n' // true
        << "float &:     " << std::is_arithmetic_v      << '\n' // false
        << "float *:     " << std::is_arithmetic_v      << '\n' // false
        << "char:        " << std::is_arithmetic_v        << '\n' // true
        << "char const:  " << std::is_arithmetic_v  << '\n' // true
        << "char &:      " << std::is_arithmetic_v       << '\n' // false
        << "char *:      " << std::is_arithmetic_v       << '\n' // false
        ;
}

@meng

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/676160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存