无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網 會員登陸 & 注冊

淺copy&深copy

2022-02-17 15:23 作者:達達里A  | 我要投稿

在Python中:

參考:十分鐘!徹底弄懂Python深拷貝與淺拷貝機制_嗶哩嗶哩_bilibili

直接賦值:其實就是對象的引用(別名)。

淺拷貝(copy):拷貝父對象,不會拷貝對象的內部的子對象。

深拷貝(deepcopy): copy 模塊的 deepcopy 方法,完全拷貝了父對象及其子對象。

3種情況
3賦值999后不一樣

意義:

深拷貝避免了數據拷貝后造成的數據重復和沖突。

在C++中:

深拷貝:是指拷貝后對象的邏輯狀態(tài)相同

淺拷貝:是指拷貝后對象的物理狀態(tài)相同,默認拷貝構造函數屬于淺拷貝(區(qū)分)。

當系統(tǒng)中有成員指代了系統(tǒng)中的資源時,需要深拷貝。比如類帶有指針成員變量,并有動態(tài)內存分配,或者打開了外存中的文件或者使用了系統(tǒng)中的網絡接口等。如果不進行深拷貝,比如動態(tài)內存空間,可能會出現多次被釋放的問題(內存已經被釋放了,無法再次釋放)。是否需要定義拷貝構造函數的原則是,是類是否有成員調用了系統(tǒng)資源,如果定義拷貝構造函數,一定是定義深拷貝,否則沒有意義。

————————————————

淺拷貝
深拷貝

復制構造函數定義

復制構造函數是一種特殊的構造函數,其形參為本類的對象引用。作用是用一個已存在的對象去初始化同類型的新對象。

class類名?{

public :

???類名(形參);//構造函數

???類名(const?類名?&對象名);//復制構造函數

??? //??????...

};

類名::類(const??類名&對象名)//復制構造函數的實現

{???函數體???}

例如:

Line::Line(const Line &obj)

{ ? ?cout << "調用拷貝構造函數并為指針 ptr 分配內存" << endl; ? ?

????ptr = new int; ? ?

????*ptr = *obj.ptr; // 拷貝值

}

參考鏈接:https://blog.csdn.net/weixin_55305220/article/details/118163216

拷貝構造函數:https://www.runoob.com/cplusplus/cpp-copy-constructor.html



淺copy&深copy的評論 (共 條)

分享到微博請遵守國家法律
黑山县| 哈巴河县| 武邑县| 湘乡市| 新野县| 栾川县| 商河县| 丹阳市| 兴国县| 丹东市| 德阳市| 迁西县| 遂昌县| 佛山市| 玛纳斯县| 南安市| 金平| 仁化县| 图们市| 余江县| 曲周县| 云浮市| 沙坪坝区| 淳安县| 宜春市| 吉首市| 收藏| 喀什市| 开封市| 焦作市| 嘉善县| 大竹县| 云梦县| 德钦县| 集安市| 香港| 维西| 舞阳县| 周宁县| 敖汉旗| 剑川县|