rvalue reference 完全解説で、rvalue referenceは、ほぼ解説した。ところが、うっかりしたことに、ひとつだけ忘れていた事項があったので、それを解説する。 それは、非静的なメンバ関数に、ref-qualifierがつけられるというものだ。例を挙げる。 struct Foo { void f() & {} void f() && {} } いったいこれは何なのか。これは、thisに対する修飾である。thisは、C++では、歴史上の理由でポインタになっているが、本来、参照となるべきであった。thisが指し示すのは、そのクラスのオブジェクトである。 struct Foo { void f() {} } ; int main() { Foo a, b ; a.f() ;// thisは、aを指す。 b.f() ;// thisは、bを指す。 } つまり、非静的なメンバ関数