卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

堆和棧的區(qū)別 拷貝構(gòu)造函數(shù)、構(gòu)造函數(shù)和賦值語句的區(qū)別?

拷貝構(gòu)造函數(shù)、構(gòu)造函數(shù)和賦值語句的區(qū)別?像這樣編寫構(gòu)造函數(shù)沒什么錯(cuò),但通常使用const。例如,調(diào)用非常量構(gòu)造函數(shù)沒有問題:錯(cuò)誤原因是func()返回一個(gè)rvalue,它不能綁定到非常量構(gòu)造函數(shù),但可

拷貝構(gòu)造函數(shù)、構(gòu)造函數(shù)和賦值語句的區(qū)別?

像這樣編寫構(gòu)造函數(shù)沒什么錯(cuò),但通常使用const。例如,調(diào)用非常量構(gòu)造函數(shù)沒有問題:

錯(cuò)誤原因是func()返回一個(gè)rvalue,它不能綁定到非常量構(gòu)造函數(shù),但可以是常量構(gòu)造函數(shù)。

在類a中定義復(fù)制構(gòu)造函數(shù)后,編譯器將不再生成默認(rèn)常量構(gòu)造函數(shù),因此無法找到合適的復(fù)制構(gòu)造函數(shù)。

什么是拷貝構(gòu)造函數(shù)?拷貝構(gòu)造函數(shù)何時(shí)被調(diào)用?

在C中,以下三種對(duì)象需要調(diào)用復(fù)制構(gòu)造函數(shù)(有時(shí)也稱為“復(fù)制構(gòu)造函數(shù)”):

1)作為函數(shù)參數(shù)的對(duì)象通過值傳遞傳遞傳遞到函數(shù)體中;

2)作為函數(shù)返回值的對(duì)象通過值傳遞從函數(shù)返回;

3)使用對(duì)象初始化另一個(gè)對(duì)象(通常稱為賦值初始化);直接調(diào)用函數(shù)和在定義時(shí)定義后續(xù)調(diào)用有什么區(qū)別?這不是區(qū)別。困難的方法是在編譯器復(fù)制S1時(shí)調(diào)用S2復(fù)制方法。

有自己定義拷貝構(gòu)造函數(shù)的必要嗎?

1確實(shí)提供了復(fù)制構(gòu)造函數(shù),但此函數(shù)嚴(yán)格按位復(fù)制。一旦類中有動(dòng)態(tài)分配成員,這將是一個(gè)問題(通常稱為深度復(fù)制),這是不正確的

2如果沒有動(dòng)態(tài)分配成員,這是不必要的。但是動(dòng)態(tài)分配成員是必要的,也是必要的,它還需要完成賦值運(yùn)算符和析構(gòu)函數(shù)的重載,這樣當(dāng)有動(dòng)態(tài)分配成員時(shí)就不會(huì)有內(nèi)存泄漏

當(dāng)一個(gè)初始化的自定義類類型對(duì)象被用來初始化另一個(gè)新構(gòu)造的對(duì)象時(shí),會(huì)自動(dòng)調(diào)用復(fù)制構(gòu)造函數(shù)。換句話說,當(dāng)需要復(fù)制類的對(duì)象時(shí),將調(diào)用復(fù)制構(gòu)造函數(shù)。在以下情況下將調(diào)用復(fù)制構(gòu)造函數(shù):通過值傳遞將對(duì)象傳遞到函數(shù)體中,通過值傳遞從函數(shù)返回對(duì)象。一個(gè)對(duì)象需要由另一個(gè)對(duì)象初始化。如果復(fù)制構(gòu)造函數(shù)沒有在類中顯式聲明,編譯器將自動(dòng)生成一個(gè)默認(rèn)的復(fù)制構(gòu)造函數(shù),它完成對(duì)象之間的位復(fù)制(淺層復(fù)制)。在某些情況下,類中的成員變量需要?jiǎng)討B(tài)打開堆內(nèi)存。如果實(shí)現(xiàn)了位復(fù)制,也就是說,一個(gè)對(duì)象中的值被完全復(fù)制到另一個(gè)對(duì)象,比如a=B。此時(shí),如果B中的成員變量指針已經(jīng)應(yīng)用了內(nèi)存,那么a中的成員變量也指向同一個(gè)內(nèi)存塊。這會(huì)導(dǎo)致一個(gè)問題:當(dāng)B釋放內(nèi)存(例如destruct)時(shí),a中的指針是一個(gè)野生指針,并且會(huì)發(fā)生運(yùn)行錯(cuò)誤。