c 基礎,長期更新

2021-07-11 02:48:20 字數 967 閱讀 1679

今天在寫作業系統的作業,發現c++的很多基本語法都忘了,現在自己把基本語法總結一遍。方便以後複習。

**1.建構函式:**

父類建構函式 -> 類成員的建構函式 -> 自己的建構函式

**2.初始化列表:**

這裡有個部落格挺好

我的總結:

test1

test1 ;

test2(test1 &t1):test1(t1)

{}

test1 test1 ;

test2(test1 &t1)

第2種test1需要執行一次預設建構函式+一次賦值操作

第1種test1只需要執行一次拷貝建構函式

特別的:下面情況只能用初始化列表

* 類成員沒有預設建構函式

* 類成員是引用型別(只能初始化,不能賦值)

* 類成員是常量(只能初始化,不能賦值)

* 多個初始化列表,不是按初始化列表順序,而是按宣告順序

結論:* 盡可能用初始化列表

* 初始化列表順序和宣告順序一致

3.extern 外部的,extern 只是起乙個declare作用,可以用來修飾變數和函式,表示該函式的定義在其他模組中,也就是說,如果你在a.cpp檔案中定義a=1;在b.cpp檔案中宣告extern a;則可以引用a.cpp中的a。

4.#ifdef表示條件編譯

5.#define 和 typedef的區別:

define預處理,無腦替換

typedef是別名,不一樣。

define int int*

typedef int* int

則 int a,b:

typedef: int* a,b: a,b都是int*

define: int*a,b : a是int*,b是int

Linux Ubuntu 筆記(長期更新)

前者相當於快捷方式,後者則相當於重新拷貝了一次。ln s home sb a home sb b 注意!刪除軟鏈結時,注意rm a 和 rm r a 的區別,後者會將源資料夾也刪除,血的教訓。du h du h max depth 1 sudo find name tmp xargs sudo rm...

長期更新的知識點 0基礎開始

靜態的方法 不用new物件 可以直接通過類名呼叫 main 類bl 非靜態方法 不可以直接通過類名呼叫 getaa 如果 靜態的方法 呼叫 非靜態方法 bl.main bl.getaa 錯 證明 靜態方法不可以呼叫非靜態方法 假設 靜態方法可以呼叫非靜態方法 類 bl 靜態方法main getaa ...

Linux學習積累 長期更新

1,跳脫符號,輸入命令時,用 後緊接著enter鍵可以不執行已打出的命令,轉到下一行繼續輸入命令。2,輸入命令時要刪除,分別是從游標處向前刪除指令串 ctrl u 及向後刪除指令串 ctrl k 3,指令碼程式設計 shell script vim編輯器刪除所有內容的命令為 d 4,echo這個指令...