最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

淺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的評論 (共 條)

分享到微博請遵守國家法律
乌海市| 梁平县| 马山县| 绍兴市| 开阳县| 长垣县| 新津县| 河西区| 五家渠市| 堆龙德庆县| 陵水| 青铜峡市| 镇雄县| 沙坪坝区| 青岛市| 洛阳市| 鄂尔多斯市| 迁安市| 麻栗坡县| 开封市| 翼城县| 得荣县| 肥东县| 唐山市| 株洲县| 黄骅市| 湘潭市| 眉山市| 建昌县| 正宁县| 平度市| 祁阳县| 奎屯市| 新乡市| 商丘市| 柯坪县| 青州市| 大邑县| 黄平县| 西贡区| 沈阳市|