1.__stdcall和__cdecl的差別
哈哈,又又呆住了,沒見過這兩個關鍵字
網上查起,這兩個是函數調用的一種約定,調用方和被調用方(函數提供方)需使用相同的約定,C語言預設__cdecl,c++則是__stdcall,
函數入棧方式都是從右向左,兩者的差別就是_stdcall的函數在傳回時會自動清除堆棧中的參數;__cdecl的函數在傳回時不會自動清除堆棧中的參數,
清除工作由調用者完成。
2.vector,list,map的底層機制
這個大概意思知道,vector底層還是數組,記憶體不夠時再重新配置設定一塊空間,大小為原來的兩倍;list就是雙向連結清單,是由許多不連續的節點組成;
map底層是紅黑樹,由鍵和值構成。
3.内聯函數和宏的差別
宏隻是進行簡單的字元替換,内聯函數則會進行類型檢查,更安全。