摘要: 內存的三種分配方式:
1. 從靜態存儲區分配:此時的內存在程序編譯的時候已經分配好,并且在程序的整個運行期間都存在。全局變量,static變量等在此存儲。
2. 在棧區分配:相關代碼執行時創建,執行結束時被自動釋放。局部變量在此存儲。棧內存分配運算內置于處理器的指令集中,效率高,但容量有限。
3. 在堆區分配:動態分配內存。用new/malloc時開辟,delete/free時釋放。生存期由用戶指定,靈活。但有內存泄露等問題。
閱讀全文
摘要:
★ 對于父類函數(virtual、非virtual),如果子類沒有同名函數,則正常繼承
★ 對于父類函數(virtual、非virtual),如果子類有同名函數,無同型函數,則不能調用父類函數
★ 對于父類函數(virtual、非virtual),如果有同型函數:
----非virtual函數由指針類型決定調用哪個
----virtual函數由指針指向的對象決定調用哪個(運行時決定)
閱讀全文
摘要: 用strcpy和strncpy時的一些疑問答疑,含兩個函數的源代碼。
閱讀全文
摘要: 較全面分析sizeof:
1. 一些基本類型的vc6 sizeof結果
2. 結構體的內存對齊
3. 含位域的結構體介紹
4. 含位域的結構體的內存對齊(壓縮存儲和非壓縮存儲)
5. 嵌套結構體的sizeof
6. 類對象的sizeof
7. 通過代碼如何修改默認對齊模數
閱讀全文