美文网首页
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