美文网首页
C++ ref-qualifiers使用

C++ ref-qualifiers使用

作者: Little熊猫 | 来源:发表于2018-09-25 15:20 被阅读0次

    一 左值和右值

    lvalue = rvlaue
    class A a = A();
    这个里面 a是左值,A()就是右值

    二 ref-value qualifier.

    struct X
    {
          //can be invoked on lvalue
          void f() & { std::cout << "f() &" << std::endl; }
    
          //can be invoked on rvalue
          void f() && { std::cout << "f() &&" << std::endl; }
    };
    
    X x;
    
    x.f();  //invokes the first function
            //because x is a named object, hence lvalue
    
    X().f(); //invokes the second function 
             //because X() is an unnamed object, hence rvalue
    

    输出:

    f() &
    f() &&
    

    相关文章

      网友评论

          本文标题:C++ ref-qualifiers使用

          本文链接:https://www.haomeiwen.com/subject/gfrloftx.html