連夜整理了68道C語言和C++相關的面試題,文末有
PDF版詳細答案,有需要的小夥伴們可以自取,面試前必看必背。2 簡述#ifdef、#else、#endif和#ifndef的作用3 寫出int 、bool、 float、指針變量與 「零值」比較的if語句6 C 語言的關鍵字static和 C++ 的關鍵字static有什麼區別7 C 語言的malloc和 C++ 中的new有什麼區別11 一個參數可以既是const又是volatile嗎15 全局變量和局部變量有什麼區別?實怎麼實現的?作業系統和編譯器是怎麼知道的?17 簡述strcpy、sprintf與memcpy的區別18 請解析(*(void (*)( ) )0)( )的含義23 設置地址為0x67a9的整型變量的值為0xaa6629 new/delete與malloc/free的區別是什麼31 請你來說一下 C++ 中struct和class的區別38 對 c++ 中的smart pointer四個智能指針:shared_ptr,unique_ptr,weak_ptr,auto_ptr的理解41 在 C++ 中,使用 malloc申請的內存能否通過delete釋放?使用new申請的內存能否用free?50 vector中的reserve和resize的區別51 vector中的size和capacity的區別52 vector中erase方法與algorithn中的remove`方法區別54 正確釋放vector的內存(clear(), swap(), shrink_to_fit())56 什麼情況下用vector,什麼情況下用list,什麼情況下用 deque58 map 、set、multiset、multimap的底層原理59 為何map和set的插入刪除效率比其他序列容器高60 為何map和set每次Insert之後,以前保存的iterator不會失效?61 當數據元素增多時(從 10000 到 20000),map的set的查找速度會怎樣變化?62 map 、set、multiset、multimap的特點63 為何map和set的插入刪除效率比其他序列容器高,而且每次insert 之後,以前保存的iter64 為何map和set不能像vector一樣有個reserve函數來預分配數據?65 set的底層實現實現為什麼不用哈希表而使用紅黑樹?66 hash_map與map的區別?什麼時候用hash_map,什麼時候用map?
這68道題的詳細答案已經整理成PDF文檔了,隨便截幾張圖看看吧:
需要完整PDF文檔的小夥伴可以直接長按掃碼關注下方二維碼,回復 「pdf」 三個字母即可自取:
(長按掃碼識別)
慢一點才能更快