Skip to content
Search

C++:Ref-qualifiers

lastmod 2018-08-17created 2015-06-185 edits

Notes on reference qualifiers (Reference qualifier).

A reference qualifier is a feature that appends & or && after a member function to directly specify which function an lvalue instance and an rvalue instance should call.

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 ↩