How to call the required function that returns rvalue reference(&&)
to a class variable instead of one that returns const lvalue reference(const&)
to a class variable. This is my sample code
class A {
int a { 10 };
public:
const int& get_a() const& {
std::cout << "const lvalue ref\n";
return a;
}
int&& get_a() && {
std::cout << "rvalue ref\n";
return std::move(a);
}
};
int main() {
std::cout << A().get_a() << std::endl; // calls rvalue reference version
A a_obj;
// how to make it call rvalue reference version?
auto aa = a_obj.get_a(); // calls const lvalue reference version
std::cout << aa << std::endl;
}