C 語法要點整理

2021-08-20 04:41:29 字數 1309 閱讀 2389

1.類有預設複製建構函式預設建構函式是淺拷貝的,複製後兩個物件指向乙個記憶體空間

2.自己寫的類的複製建構函式不一定能做到複製功能 看自己怎麼寫了。(說明複製建構函式不一定就能起到複製的作用!!)

3.複製建構函式起作用的三種情況:

(1)用乙個物件初始化另外乙個物件

(2)如果有個函式的引數是類a的物件,那麼該函式被呼叫時,類a的複製建構函式將被呼叫

(3)如果函式返回值是類a的物件,函式返回時,a的複製建構函式將被呼叫。

4.型別轉換建構函式 可以轉型別賦值

5.sizeof不計算靜態成員變數。

6.必須在定義類的檔案中對靜態成員變數進行一次說明或初始化。否則編譯能通過,鏈結不能通過!

7.靜態成員函式中,不能訪問非靜態成員變數,也不能呼叫非靜態成員函式。

8.在建構函式中要是有對靜態成員變數的操作,則有必要注意複製建構函式最好也自己寫,加上靜態成員變數的相應操作語句(一般都是必要的)。

三種情況必須在類建構函式初始化列表初始化(資料整理)

關於類的建構函式,可以分為兩個部分,初始化部分(初始化列表)和計算部分(花括號間的賦值運算),在花括號作用域間進行的運算不是初始化,而是賦值。

對於必須在定義時初始化的情況在類建構函式中也是相同的

總結如下:

1、const成員:常量,不能被改變,定義的同時必須初始化

3、沒有預設建構函式供系統自動呼叫:

(1)物件成員:a類的成員是b類的物件(即a是封閉類),在構造a類時需對b類的物件進行構造,

當b類沒有預設建構函式時需要在a類的建構函式初始化列表中對b類物件初始化

(2)類的繼承:派生類在建構函式中要對自身成員初始化,也要對繼承過來的基類成員進行初始化,當基類沒有預設建構函式的時候,通過在派生類的建構函式初始化列表中呼叫基類的建構函式實現

非晶態成員函式中可以直接使用this指標來指代該函式作用的物件的指標。比如,可以在乙個成員函式當中通過return *this 來返回函式作用的物件。

除了常量變數外還可以寫常量物件,常量成員函式。

常量物件很好理解,不能修改物件的值。常量成員函式(const加在類的成員函式說明的後面)不能呼叫同類的非常量成員函式(靜態成員函式除外),不能修改其所作用的物件(靜態成員變數除外)。

物件作為函式引數時,生成該引數需要呼叫複製建構函式,效率低。故,經常用常引用來解決,提公升效率的同時,保證了物件不會被修改。

派生類的寫法: class 派生類名:public 基類名

基類的protected成員可以被下列函式訪問

·基類的成員函式

·基類的友元函式

·派生類的成員函式可以訪問當前物件的基類的保護成員

MySql操作要點整理

tinyint 1 位元組 smallint 2 個位元組 mediumint 3 個位元組 int 4 個位元組 integer 4 個位元組 bigint 8 個位元組 float x 4 如果 x 24 或 8 如果 25 x 53 float 4 個位元組 double 8 個位元組 dou...

Effective C 要點整理(一)

c 曾明確指出,當派生類 derived class 物件經由乙個基類 base class 指標被刪除,而該基類還帶著乙個non virtual析構函式,其結果未有定義 實際執行時通常發生的是物件的派生成分沒被銷毀。而其基類成分通常會被銷毀,於是造成乙個詭異的 區域性銷毀 物件。這會造成資源洩露 ...

uboot的啟動要點整理

對於ppc e500mc而言,從上電的一開始,cpu有預設配置的tlb位址空間,cpu執行的第一條指令一定在這個空間內,這樣虛擬位址才能轉換為實體地址,然後還有啟動的law local access window 預設配置 從實體地址到器件 比如cpu的片選cs0會選擇norflash,然後預設的l...