static用法及優點:
用法:不能在類宣告中初始化,不能通過建構函式初始化,在定義時初始化
1:static 成員 在類的作用域,避免與其他類成員,全域性變數衝突。
阻止乙個類的例項化:
純虛函式,建構函式宣告為public
在類內部建物件,不允許在外部建物件
main()執行前做了什麼
全域性物件的建構函式
用_onexit
()註冊的函式
// atexit()註冊的函式在main退出後執行
什麼情況只能用建構函式初始化,不能用賦值初始化
const成員,引用成員
基類的析構是虛函式原因
指標呼叫物件,析構時執行的是指標類的析構函式。虛函式才能通過覆蓋使其析構時調子類虛函式
構造不能是虛函式原因
虛函式呼叫:是一種在只有部分資訊知道的情況下工作的機制,構造需要知道物件準確的型別。
空指標與懸垂指標
空指標:nullptr,null
垂懸指標:指標指向的空間delete後。指標就是垂懸指標
new+delete與malloc+free
malloc更具大小分匹配空間,不初始化。
new更具物件分匹配空間,預設初始化。
什麼是型別安全
變數型別不能隨意轉換。
int a =
2.33
;//可以執行 , 所以c++不是型別安全的
引用做返回值的好處與規則
記憶體中不產生返回值的副本。
正因如此,不可以返回區域性變數的引用。//子函式結束,區域性變數清空,引用無效了。
不可以返回子函式內malloc的記憶體的引用。//子函式結束,雖然記憶體沒有釋放但,指向記憶體的指標釋放了,引用1也就無效了。
本質:函式引數為引用時,函式的棧不需要額外儲存引用,實際上什麼也不傳,而是直接就用ebp和偏移去找。
面試題雜項
1,9月6日,網新恒天2014校園招聘筆試程式設計題 已知memcpy的函式為 void memcpy void dest const void src size t count 其中dest是目的指標,src是源指標。不呼叫c c的memcpy庫函式,請編寫memcpy。點評 老題,參 如下voi...
C 面試題整理
1.c 中類是否支援多繼承?請說明原因。答 不支援,需要用介面來實現多繼承 2.我們都知道乙個類可以有多個建構函式,並且c 會在我們建立類的時候預設的提供乙個無參的建構函式,當我實現了另外乙個有引數的建構函式的時候,我還能呼叫無引數的建構函式嗎?請說明原因。答 不能,因為一旦你實現了乙個建構函式,c...
C 面試題精簡整理
c 中完全可以刪除 struct 關鍵字,保留 struct 關鍵字是為了相容c。class和struct地唯一區別 class預設域是 private,struct 預設域是 public。現在c 程式設計常使用struct作為乙個組合。例如 struct combination new的底層是由...