程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 知識整理1,知識整理

知識整理1,知識整理

編輯:C++入門知識

知識整理1,知識整理


C++的深拷貝和淺拷貝

  淺拷貝也叫位拷貝(bitwise assignment),意思就是將一個對象的內存映像按位原封不動的復制給另一個對象。

  如果字段是值類型的,則對該字段執行逐位復制;如果字段是引用類型,則復制引用但不復制引用的對象。

  如果改變目標對象中引用型字段的值他將反映在原是對象中,也就是說原始對象中對應的字段也會發生變化。因為它們指向的是同一份內存。

  

  深拷貝也叫值拷貝(value assignment),它會將一個對象的值全部復制給另一個對象,包括引用類型的對象裡的值。

 

  如果沒有自定義拷貝構造函數和賦值函數,則系統會創建默認的復制構造函數和賦值函數,但系統創建的默認函數只會執行“位拷貝”。

  如果一個類擁有資源,當這個類的對象發生復制過程的時候,資源重新分配,這個過程就是深拷貝,反之,沒有重新分配資源,就是淺拷貝。

  這是參考的網頁:

  http://blog.sina.com.cn/s/blog_a2aa00d70101gpvj.html

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved