konstruktor kopiujący a operator przypisania

0

Jakie jest różnica pomiędzy operatorem przypisania a konstuktorem kopiującym. Jak działają i jaka jest różnica w składni przede wszystkim?

0

Konstruktor działa w chwili tworzenia obiektu. Operator przypisania działa jeśli masz już obiekt i przypisujesz mu wartość innego obiektu. Różnica w składni taka że jeden to operator= a drugi to konstruktor, to chyba dość jasne...

0

Jest jeden przypadek, który może trochę zmylić swoją składnią, to jest inicjalizacja

X a = innyObiektKlasyX;

tu jest wywołany konstruktor kopiujący, a nie operator przypisania mimo występowania =.

0

Do C++11 było tak, jak pisze @Shalom. C++11 wprowadził pojęcie semantyki przenoszenia i tym samym dodał move constructor i move assignment. W związku z tym różnica między konstruktorem kopiującym, a operatorem przypisania zależy od tego o jakie przypisanie nam chodzi (value, czy move semantics).

1 użytkowników online, w tym zalogowanych: 0, gości: 1