引用限定符

背景:

string s1 = “hello”, s2 = "world";
(s1 + s2).size();
s1 + s2  其实得到是个右值,但是却可以调用size方法
C++11 的出现,可以限制调用成员函数的对象是左值还是右值

用法:

class my_class{
       void size() const & this指针必须是左值对象的指针
       void size_copy() const && this指针必须是右值对象的指针
      /*
             1. 如果采用了引用限定符,必须同时出现在类的声明与类的定义之中
             2. 如果是const成员函数,引用限定符号必须位于const之后
      */
} 

你可能感兴趣的:(引用限定符)