• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

return *this, c++

Fiszki IT
Fiszki IT
0 głosów
1,465 wizyt
pytanie zadane 11 kwietnia 2018 w C i C++ przez antek782 Początkujący (490 p.)
Co oznacza zwrócenie:

return *this

?

Dobrze myślę że zwracany jest dany obiekty? Czy wywoływany jest wtedy jego konstruktor?

1 odpowiedź

+2 głosów
odpowiedź 11 kwietnia 2018 przez RafalS VIP (122,500 p.)

Zależy jaka jest sygnatura funkcji. Jeśli masz:

Klasa fun() {return *this;};

To zwracasz kopie obiektu na którym została wywołana ta metoda.
Jeśli natomiast funkcja zwraca referencje to, zwracasz referencje do obiektu. 
Czemu to jest przydatne? Np metoda Klasa& add(int x), pozwoli na łańcuchowe wywołanie, z czego dużo się korzysta, np przy przeładowywaniu operatora =.

Klasa a;
a.add(5).add(100).add(1);

I w ten sposób dodajesz cały czas do oryginalnego obiektu a.

Podobne pytania

0 głosów
1 odpowiedź 206 wizyt
pytanie zadane 8 grudnia 2019 w C i C++ przez czowiek Początkujący (390 p.)
0 głosów
2 odpowiedzi 305 wizyt
pytanie zadane 17 grudnia 2017 w C i C++ przez corrot Nowicjusz (200 p.)
+1 głos
1 odpowiedź 148 wizyt
pytanie zadane 31 grudnia 2015 w C i C++ przez baszmest Gaduła (3,080 p.)
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

84,751 zapytań

133,554 odpowiedzi

295,976 komentarzy

56,009 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...