Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo-is-ab:laboratoare:04 [2025/09/25 10:26]
razvan.cristea0106 [Operatorul de atribuire]
poo-is-ab:laboratoare:04 [2025/09/25 10:28] (current)
razvan.cristea0106 [Operatorul de atribuire]
Line 369: Line 369:
 Operatorul de atribuire (**Operatorul =** sau **Operatorul de asignare**) este folosit pentru a copia conținutul unui obiect existent într-un alt **obiect existent**. În esență, operatorul de **atribuire (asignare)** și **constructorul de copiere** au un comportament similar, deoarece ambii sunt responsabili de copierea valorilor dintr-un obiect în altul. Principala diferență între aceste două **funcții membre** constă în **momentul** și **contextul** în care sunt utilizate. Operatorul de atribuire (**Operatorul =** sau **Operatorul de asignare**) este folosit pentru a copia conținutul unui obiect existent într-un alt **obiect existent**. În esență, operatorul de **atribuire (asignare)** și **constructorul de copiere** au un comportament similar, deoarece ambii sunt responsabili de copierea valorilor dintr-un obiect în altul. Principala diferență între aceste două **funcții membre** constă în **momentul** și **contextul** în care sunt utilizate.
  
-**Constructorul de copiere** este folosit atunci când un **nou** obiect este creat pe baza unui alt **obiect existent**. Pe de altă parte, **operatorul de atribuire** este utilizat atunci când un obiect **deja existent** primește valori din alt obiect, adică obiectul în care se copiază conținutul trebuie să aibă deja alocată memorie și să fi fost inițializat anterior.+**Constructorul de copiere** este folosit atunci când un **nou** obiect este **creat** pe baza unui alt **obiect existent**. Pe de altă parte, **operatorul de atribuire** este utilizat atunci când un obiect **deja existent** primește valori din alt obiect, adică obiectul în care se copiază conținutul trebuie să aibă deja alocată memorie și să fi fost inițializat anterior.
  
 <note important>​La fel ca și în cazul **constructorului de copiere**, compilatorul va genera el o variantă de **operator de asignare** dacă programatorul nu îl declară și nu îl implementează. La fel ca în cazul **copy constructor-ului**,​ varianta generată de complilator pentru **operatorul =** face **shallow copy**, deci va trebui să fie implementat de către programator pentru a face **deep copy**.</​note>​ <note important>​La fel ca și în cazul **constructorului de copiere**, compilatorul va genera el o variantă de **operator de asignare** dacă programatorul nu îl declară și nu îl implementează. La fel ca în cazul **copy constructor-ului**,​ varianta generată de complilator pentru **operatorul =** face **shallow copy**, deci va trebui să fie implementat de către programator pentru a face **deep copy**.</​note>​
poo-is-ab/laboratoare/04.txt · Last modified: 2025/09/25 10:28 by razvan.cristea0106
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0