1 物件間的關係包含
乙個物件是另乙個物件的屬性。
繼承乙個物件是另乙個物件的特例。
關聯乙個物件的引用是另乙個物件的屬性。(沒有特定規範)
強關聯:引用
弱關聯:指標
2 虛表指標
當物件中有虛函式時,
呼叫 建構函式、拷貝建構函式開始第一件事就是設定虛表指標指向該物件
析構函式是重置虛表指標
析構函式可以設計成虛的,建構函式不可以
沒寫析構函式的話,系統不會自動生成析構函式,只有乙個語義的析構
new delete new delete
3 const 賦值相容性規則
int a =10;
int*p =
&a;//p指向a,可以改變a的值,也可以值向別的變數。
const
int*p =
&a;//p指向a,但不能改變a的值,但可以指向別的變數。
int*
const p =
&a;//p指向a,可以改變a的值,但不可以指向別的變數。
const
int*
const p =
&a;//p指向a,不能改變a的值,也不能指向別的變數。
普通物件優先調動普通方法,沒有普通方法也可以調動常方法。
常物件只能調動常方法。
4 c++中無法獲取返回值
int
fun(
)
5 自旋鎖
相對於互斥鎖,自旋鎖是一種輕量級的鎖。
別的執行緒獲取了鎖,cpu依然占用著該執行緒資源。
而互斥鎖在需要等待時,不會一直空轉消耗cpu。
會阻塞並切換到別的執行緒執行,較為耗時。
因此,在鎖的競爭不繁忙,和該鎖保持的**執行時間較短的情況下,可以使用自旋鎖,不會因為等待時間長而浪費cpu資源。
C 知識點筆記
在全域性域中宣告的變數會自動初始化為0 如果變數是在區域性域中定義的,則系統不會向它提供回初始值0,這些物件被認為是未初始化,其值隨機 有的編譯器可能答會為你初始化為0,但千萬別依賴於這種可能行為,因為它會給你的程式帶來未定義的行為 區域性變數 在乙個函式內部定義的變數就是區域性變數。作用範圍 只侷...
C 面試知識點1
c 指標和引用的區別 相同點 1 都是對位址的概念 指標指向一塊記憶體,而引用是某塊記憶體的別名。不同點 1 指標本身就是乙個物件,允許對指標賦值和拷貝。引用僅是個別名 2 指標不需要在定義的時候賦初值,即可以為空,而且指標生命週期內可以先後指向幾個不同的物件。但是引用必須要初始化 不但不能為空而且...
c語言知識點 1
1.參與運算的資料是什麼型別,結果也是什麼型別,並且參與運算資料必須是同一型別,會進行自動型別轉換 double d 10 3 3.00000,還有自動型別提公升 2.int size sizeof char 僅這種情況括號不能去掉 3.c語言中,條件成立為真,不成立為假,任何數值都有真假性,只有0...