5 拷貝構造

2021-09-18 01:28:43 字數 624 閱讀 3780

const 變數不構成過載,const 引用可以構成過載;

void fun(char *str) 可以傳入陣列名:fun(str)

void fun(const char *str) 可以傳入陣列名,或者字串常量 : fun(「哈哈哈」)

static 全域性 在程式生命週期內使用 static 修飾的變數不能被其他檔案使用,不能使用extern使用。

如果要在外部訪問,需要使用extern

淺拷貝(直接補齊的拷貝構造),如果物件沒有額外申請堆記憶體,不需要去額外處理堆記憶體的內容

#pragma once

class test

;test::test(const test& s)

#pragma once

class test

;test::test(const test& s)

test::test(const char str)

實際應用:如果用到了堆記憶體,造成公用堆記憶體的情況下,會造成析解函式二次呼叫出錯,因此使用神拷貝

傳遞引用,可以在函式中修改變數值。

如果形參是引用,實參必須是變數,不能是常量。

因為常量不能被引用。

5 c 拷貝建構函式 深拷貝,淺拷貝

對於普通型別的物件來說,它們之間的複製是很簡單的,例如 int a 88 int b a 而類物件與普通物件不同,類物件內部結構一般較為複雜,存在各種成員變數。下面看乙個類物件拷貝的簡單例子。include using namespace std class cexample void show c...

拷貝建構函式,預設拷貝建構函式

拷貝建構函式,預設拷貝建構函式 1.c 的預設拷貝建構函式,從深度拷貝和淺拷貝說起 c 類的預設拷貝建構函式的弊端 c 類的中有兩個特殊的建構函式,1 無參建構函式,2 拷貝建構函式。它們的特殊之處在於 1 當類中沒有定義任何建構函式時,編譯器會預設提供乙個無參建構函式且其函式體為空 2 當類中沒有...

C 學習筆記 C 拷貝建構函式(5)

拷貝建構函式是一種特殊的建構函式,它在建立物件時,是使用同一類中之前建立的物件來初始化新建立的物件。拷貝建構函式通常用於 通過使用另乙個同型別的物件來初始化新建立的物件。複製物件把它作為引數傳遞給函式。複製物件,並從函式返回這個物件。如果類帶有指標變數,並有動態記憶體分配,則它必須有乙個拷貝建構函式...