某廠幾道C C 面試題

2021-07-13 21:13:08 字數 708 閱讀 5418

說來慚愧,時間緊急,沒有準備,唉,自作孽……

最快解法思路: return a&(a-1)

這是linux核心**中用的乙個函式或者說方法,之前從未接觸過,所有有點懵逼…..

具體定義如下:

#define list_entry(ptr, type, member) ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))

一點點來看:

(unsigned long):強制轉換

為了支援快速的隨機訪問,vector容器的元素以連續方式存放,每乙個元素都緊挨著前乙個元素儲存。

iterator erase(iterator _p) {

copy(_p + 1, end(), _p);

_desotry(_last - 1, _last);

--_last;

return(_p);

vector另外乙個特性在於它的記憶體空間會自增長,每當vector容器不得不分配新的儲存空間時,會以加倍當前容量的分配策略實現重新分配。例如,當前capacity為50,當新增第51個元素時,預留空間不夠用了,vector容器會重新分配大小為100的記憶體空間,作為新連續儲存的位置。

題目不難,平時多積累!努力成就夢想,加油!

幾道面試題

系統呼叫與函式的區別 從程式完成的功能來看,函式庫提供的函式通常是不需要作業系統的服務,函式是在使用者空間內執行的,除非函式涉及到i o操作等,一般是不會切到核心態的。系統呼叫是要求作業系統為使用者提供程序,提供某種服務,通常是涉及系統的硬體資源和一些敏感的軟體資源等。函式庫的函式,尤其與輸入輸出相...

幾道面試題

1 下列程式片段執行時間排序 1 for uint i 0 i 1024 i char url char malloc 4096 memset url,0x0,4096 free url 2 for uint i 0 i 1024 i 3 char url char malloc 4096 for ...

幾道面試題

q 您在什麼情況下會用到虛方法?它與介面有什麼不同?q override與過載有什麼區別?q 值型別與引用型別有什麼區別?q 怎樣理解靜態變數?q 向伺服器傳送請求有幾種方式?q datareader與dataset有什麼區別?q 用.net做b s結構的系統,您是用幾層結構來開發,每一層之間的關係...