const& , & und && Bezeichner für member-Funktionen in C++

Kürzlich wurde ich durch die Lektüre API von , boost::optional und kam über die Linien:

T const& operator *() const& ;
T&       operator *() & ;
T&&      operator *() && ;

Schrieb ich auch mein eigenes Programm, das definiert die member-Funktionen als const&, & und && (Beachten Sie, dass ich spreche nicht über den Rückgabetyp, aber den Planern kurz vor dem Semikolon) und Sie scheint gut zu funktionieren.

Weiß ich, was es bedeutet die Deklaration einer Memberfunktion const, aber kann mir jemand erklären, was es bedeutet, es zu erklären const&, & und &&.

Wie ist das nicht ein Duplikat ist mehr als 6 Jahre nach Stack-Überlauf gestartet?

InformationsquelleAutor john_zac | 2015-01-21

Schreibe einen Kommentar