0
点赞
收藏
分享

微信扫一扫

元编程: is_lvalue_reference<Tp>

minute_5 2022-01-16 阅读 70
c++

判断是否为左值引用

#include <iostream>
#include <type_traits>

int main()
{
    int a = 10;
    int& b = a;

    std::cout << "This Demo: is_lvalue_reference" << std::endl;
    if(std::is_lvalue_reference<int>::value)
    {
        std::cout << __LINE__ << ": is left value reference" << std::endl;
    }
    else
    {
        std::cout << __LINE__ << ": isn't left value reference " << std::endl;
    }

    if(std::is_lvalue_reference<int&>::value)
    {
        std::cout << __LINE__ << ": is left value reference" << std::endl;
    }
    else
    {
        std::cout << __LINE__ << ": isn't left value reference " << std::endl;
    }

    if(std::is_lvalue_reference<int&&>::value)
    {
        std::cout << __LINE__ << ": is left value reference" << std::endl;
    }
    else
    {
        std::cout << __LINE__ << ": isn't left value reference " << std::endl;
    }

    if(std::is_lvalue_reference<decltype (a)>::value)
    {
        std::cout << __LINE__ << ": is left value reference" << std::endl;
    }
    else
    {
        std::cout << __LINE__ << ": isn't left value reference " << std::endl;
    }

    if(std::is_lvalue_reference<decltype (b)>::value)
    {
        std::cout << __LINE__ << ": is left value reference" << std::endl;
    }
    else
    {
        std::cout << __LINE__ << ": isn't left value reference " << std::endl;
    }

    return 0;
}

 

举报

相关推荐

0 条评论