Skip to content

C++:Ref-qualifiers

레퍼런스 한정자(Reference qualifier)에 대한 내용 정리.

Reference qualifier는 &나 &&를 멤버함수 뒤에 붙여서 lvalue인 인스턴스와 rvalue인 인스턴스가 호출해야하는 함수를 직접 지정해주는 기능이다.

Example

#include <iostream> 
struct Foo 
{ 
    int bar() & {return 1;} 
    int bar() && {return 2;} 
    int bar() const& {return 3;} 
} 

Foo f(); 

int main() 
{ 
    Foo foo1; 
    Foo const foo3; 
    std::cout << foo1.bar(); //1 
    std::cout << f().bar(); //2 
    std::cout << foo3.bar(); //3 
}

Favorite site

References


  1. Ref-qualifiers_-_Andrzej's_C++_blog.pdf