c 學習筆記 細節關鍵點

2021-07-28 00:02:39 字數 733 閱讀 2445

本文記錄那些該知道卻不甚清楚的東西,基於書本和自己的理解。

1.c++定義class,public內放的東西是給外人看的,class開放給外人的介面;private中放的成員是自己用的,外人不必知道,除了我的朋友(friend)。

2.member funtion必須在class主體內宣告,是否在主體內定義可自由決定。若在class中定義,則自動被視為inline函式。

inline函式放在主體內和主體外沒有區別。

class和inline函式的定義都應放在標頭檔案中。non-inline成員函式則應該在程式**檔案中定義。

3. 建構函式不應指定返回型別,也不用返回任何值。它可以被過載。

析構函式絕對沒有返回值,也沒有任何引數,所以也不能被過載。

4. new從heap(堆)中分配空間

5. copy constructor拷貝建構函式,唯一的引數是const reference &,指向(代表)乙個類物件

6. this指標在member function 成員函式中用來指向其呼叫者(乙個物件)。編譯器自動將每個*this指標加到成員函式列表。

7. static成員函式中不可訪問非static成員變數。

8. 運算子過載,除了.  .*  ::  ?: 四個運算子,其他運算子皆可被過載,運算子運算元個數不可變;優先順序不可變;運算子函式的引數列表中必須至少有乙個引數為class型別。

對成員運算子而言,成員運算子函式引數列表中含有隱式指標this,代表左運算元。

C 細節筆記

放在草稿箱裡都快遺忘了。還是發出來吧,僅作備忘 類與物件在記憶體中的情況小結 1.在c 中,物件即變數,一塊記憶體 唯一標識 猜想 類與函式一樣,被編譯器放在 段 疑問 編譯器編輯時需要將其識別符號和入口位址一一對應,是放在符號表裡索引實現的嗎?應該是,編譯器用識別符號找到入口位址,然後通過該位址到...

C 學習細節

ifndef define endif的使用 防止該標頭檔案被重複引用 其實 被重複引用 是指乙個標頭檔案在同乙個cpp檔案中被include了多次,這種錯誤常常是由於include巢狀造成的。比如 存在a.件 include c.h 而此時b.cpp檔案匯入了 include a.h 和 incl...

10 C語言關鍵細節

作業系統的主要任務是管理所有資源,為產生直接價值的程式 各種應用程式 提供服務,所以作業系統就是管理者和服務者。作業系統負責管理和資源調配,應用程式負責具體的直接勞動,當應用程式需要使用系統資源 如記憶體 cpu 硬體操作等 時需要通過api函式向作業系統發出申請,然後作業系統響應,幫助應用程式執行...