複製建構函式(copy constructor)和c中的賦值運算子(assignment operator in c)的區別

複製建構函式被定義為用於建立物件的實體,並透過使用已存在的同一類物件對其進行初始化來實現。另一方面,賦值運算子被定義為一個實體,用於定義具有起始值的新變數,並幫助處理屬性、事件和索引器。...

主要區別

複製建構函式被定義為用於建立物件的實體,並透過使用已存在的同一類物件對其進行初始化來實現。另一方面,賦值運算子被定義為一個實體,用於定義具有起始值的新變數,並幫助處理屬性、事件和索引器。

比較圖

區分依據在C中複製建構函式C中的賦值運算子
定義一種實體,用於建立一個物件,並用已經存在的類物件對其進行初始化。一種實體,用於定義具有起始值的新變數,並幫助處理屬性、事件和索引器。
例子它的第一個引數是對其類sort的引用。像=這樣的運算子變成中心工作管理器。將值從右側運算元分配給左側運算元。
工作舊物件的副本將退出以供進一步使用只要使用賦值運算子,就存在一個新物件。

複製建構函式

複製建構函式被定義為用於建立物件的實體,並透過使用已存在的同一類物件對其進行初始化來實現。複製建構函式是一個建構函式,它透過引入一個類似類的問題來提出**,這個問題已經實現了。複製建構函式用於表示來自同一種類的多個**。計算機程式把它作為一個容量的爭用來傳遞。複製一個問題從函式返回它。如果一個重複的建構函式沒有在類中進行特徵化,編譯器本身會區分一個。如果類有指標因子並且有一些重要的記憶體分配,那麼就絕對需要有一個重複的建構函式。當問題透過尊重傳遞、由尊重返回或明確複製時,將呼叫複製建構函式。如果沒有重複的建構函式,C++將生成一個預設克隆構造器,它建立淺複製。通常情況下,編譯器會為每個類生成一個複製建構函式,但對於特殊情況,軟體工程師會生成重複的建構函式,稱為客戶機特徵化的複製建構函式。在這種情況下,編譯器不會生成一個。因此,經常會有一個由客戶端或框架描述的副本建構函式。透過使用複製建構函式和任務管理員來完成專案的複製。複製建構函式的第一個引數是對其類sort的引用。

評估操作員

賦值運算子被定義為一個實體,用於定義一個具有起始值的新變數,並有助於屬性、事件和索引器。賦值運算子成為管理員,用於在C程式設計方言中為變數、屬性、場合或索引器元件指定另一個激勵。賦值運算子同樣可以用於合法操作,例如,位一致性操作或對基本運算元和布林運算元的操作。在C++中,任務管理人員不能單獨負擔過重,但客戶機特有的排序會給管理員帶來負擔。這使函式運算子能夠與這些型別一起使用。=成為中心工作經理。將值從右側運算元分配給左側運算元。同樣地,+=也會變成include和assignment運算子。它將右運算元新增到單手運算元,並允許將結果新增到單手運算元。賦值運算子是建議編譯器執行某些數值或智慧控制元件的影象。操作員被用作程式的一部分來控制資訊和因素。不同的任務管理員取決於在兩個運算元之間執行的操作型別,例如展開(+=)、減法、(=)等等。使用的管理員映像的重要性取決於運算元的種類。賦值運算子是正確熟悉的,這意味著它們從適當的位置向左**。

主要區別

  1. 複製建構函式被定義為用於建立物件的實體,並透過使用已存在的同一類物件對其進行初始化來實現。另一方面,賦值運算子被定義為一個實體,用於定義具有起始值的新變數,並幫助處理屬性、事件和索引器。
  2. 當問題由編譯器傳遞、由編譯器返回或明確複製時,將呼叫複製建構函式。然而,賦值運算子同樣可以用於合法操作,例如,位一致性操作或對基本運算元和布林運算元的操作。
  3. 複製建構函式的第一個引數是對其類sort的引用。另一方面,像=這樣的賦值運算子變成了中心工作管理器。將值從右側運算元分配給左側運算元。
  4. 當對當前問題提出另一個**時,將呼叫複製建構函式,作為當前**的副本。另一方面,當一個從現在開始引入的問題被分配到另一個來自當前**的激勵時,分配運算子被呼叫。
  5. 只要使用賦值運算子,就存在一個新物件。另一方面,無論何時使用複製建構函式,舊物件的副本都會退出以供進一步使用。
  • 發表於 2020-03-08 20:42
  • 閱讀 ( 20 )
  • 分類:教育

你可能感興趣的文章

建造師(constructor)和解構函式(destructor)的區別

關鍵區別–建構函式與解構函式 大多數程式語言都支援面向物件程式設計(OOP)。它是幫助使用物件對軟體或程式進行建模的範例。OOP提高了生產力和可維護性。在OOP中,一切都被視為一個物件。物件是使用類建立或例項化...

  • 發佈於 2020-10-18 11:50
  • 閲讀 ( 45 )

屬性(attribute)和引數(parameter)的區別

...h是引數。在函式定義中,有calArea(int a,int b);長度值複製到變數“a”,寬度值複製到變數“b”。這些“a”和“b”是引數。當函式被呼叫時,引數值被複制到引數中。計算的面積從calArea返回。結果分配給主程式中的可變區...

  • 發佈於 2020-10-19 02:04
  • 閲讀 ( 64 )

領域(field)和c屬性#(property in c#)的區別

...個類。它包含三個公共欄位,分別是base1、height1和area。建構函式可以為base1和height指定值。在main方法中,建立了一個三角形物件。它被稱為t1,兩個值被傳遞到基部和高度。Triangle類中的建構函式將這些值分配給欄位。然後,在m...

  • 發佈於 2020-10-19 02:36
  • 閲讀 ( 54 )

結構(structure)和c中的並集(union in c)的區別

...值1。student\u id=1。“Ann”是一個字串。因此,它使用字串複製函式strcpy複製到學生名稱成員。id和名稱以類似的方式分配給student2。最後,使用成員運算子列印這些值。 儲存結構變數所需的記憶體量是所有成員的記憶體大小之和...

  • 發佈於 2020-10-19 06:29
  • 閲讀 ( 52 )

整數(integer)和浮動(float)的區別

...同樣,int被轉換成整數。 y是整數型別的物件。值5傳遞給建構函式。使用intValue方法,該物件被轉換為int資料型別。轉換後的值被儲存到可以儲存int的z變數中。 圖02:自動裝箱和取消裝箱示例1 根據上面的程式,變數x有一個int,...

  • 發佈於 2020-10-19 08:34
  • 閲讀 ( 57 )

垃圾收集器(garbage collector)和解構函式(destructor)的區別

...程式執行結束時,可以銷燬物件。解構函式與類名同名。建構函式用於建立物件。它可以接受引數。建構函式也可以有返回值。但在解構函式中,沒有返回型別或接受引數。一個類只能由一個解構函式組成。解構函式是使用顎化...

  • 發佈於 2020-10-19 13:14
  • 閲讀 ( 44 )

&(&)和&&(&&)的區別

...執行邏輯與運算的運算子。 功能 &運算子將一個位複製到結果(如果它在兩個運算元中都存在)。 使用&&運算子時,如果兩個運算元都非零,則條件變為真。 命名 &稱為位與 &&稱為邏輯和 總結 - &(&am...

  • 發佈於 2020-10-19 16:03
  • 閲讀 ( 50 )

按位(bitwise)和邏輯運算子(logical operators)的區別

...程式語言的符號,用於對值或變數執行特定的邏輯或數學函式。程式語言中有各種各樣的運算子。其中一些是算術運算子、關係運算符、邏輯運算子、位運算子和賦值運算子。算術運算子支援數學運算,如加法(+)、減法(-)...

  • 發佈於 2020-10-19 16:48
  • 閲讀 ( 116 )

班(class)和結構(c)#(structure in c#)的區別

...nt的類。要在C中定義類,請使用“class”關鍵字。 類包含建構函式。它是一個特殊的函式,在建立類的新物件時執行。建構函式與類同名。它沒有返回型別。預設建構函式沒有任何引數。引數化建構函式包含引數。類也可以包含...

  • 發佈於 2020-10-19 17:15
  • 閲讀 ( 54 )

這(this)和超級java(super in java)的區別

...變數。類變數由所有物件共享。id和名稱將傳遞給Employee建構函式。如果程式設計師寫id=id;它不會初始化例項變數,因為建構函式已經有id和名稱。例項變數沒有值。因此,列印它們將顯示空值。當使用它時,它引用當前物件。...

  • 發佈於 2020-10-19 18:17
  • 閲讀 ( 59 )
c655213712
c655213712

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦