is_integral


#include <iostream>
#include <iomanip>
#include <type_traits>
 
class A {};
 
enum E : int {};
 
template <class T>
T f(T i)
{
    static_assert(std::is_integral<T>::value, "Integral required.");
    return i;
}
 
#define SHOW(...) std::cout << std::setw(29) << #__VA_ARGS__ << " == " << __VA_ARGS__ << '\n'
 
int main()
{
    std::cout << std::boolalpha;
    int a = 1;
    int &b = a;
 
    SHOW( std::is_integral<A>::value );
    SHOW( std::is_integral_v<E> );
    SHOW( std::is_integral_v<float> );
    SHOW( std::is_integral_v<int> );
    SHOW( std::is_integral_v<const int> );
    SHOW( std::is_integral_v<bool> );
    SHOW( f(123) );
    SHOW(std::is_integral<int&>::value);
}
posted @ 2023-02-14 19:01  ijpq  阅读(29)  评论(0编辑  收藏  举报