拷貝構(gòu)造函數(shù)與賦值運(yùn)算符都是在C++中隱式聲明的线得,都具有完成數(shù)據(jù)成員復(fù)制的動(dòng)作顶霞。二者很相似,但是還是有很大的不同的:
1.拷貝構(gòu)造函數(shù)只是在對(duì)象實(shí)例化時(shí)才被調(diào)用睦擂,也就是說(shuō)得湘,在調(diào)用拷貝構(gòu)造函數(shù)期間,對(duì)象處于一個(gè)未決狀態(tài)(直到拷貝構(gòu)造函數(shù)被成功調(diào)用)顿仇;而賦值運(yùn)算符則在一個(gè)現(xiàn)存的對(duì)象被賦予新值時(shí)被調(diào)用淘正。
2.拷貝構(gòu)造函數(shù)沒(méi)有返回值;賦值運(yùn)算符有返回值臼闻。
只有對(duì)象在堆中分配資源時(shí)鸿吆,二者才有明顯區(qū)別,否則僅在棧中區(qū)別不大述呐。