引用限定符

背景:

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之后
      */
} 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。