1. std::vector的insert()與push_back()的區(qū)別是什么?2. unique_ptr底層是如何實(shí)現(xiàn)資源管理的?3. C++中的重載與覆蓋的原理是什么?4. 一個類的默認(rèn)構(gòu)造函數(shù)中會包含哪些內(nèi)容?5. virtual關(guān)鍵字用在哪里?有什么作用?6. 類的成員函數(shù)的調(diào)用順序是什么?7. C++中的引用占用的內(nèi)存大小是多少?8. 什么是懸空指針和內(nèi)存泄漏?如何避免它們?9. free和delete的區(qū)別是什么?10. 多線程編程中可能會遇到哪些問題?如何進(jìn)行線程同步?11. 什么是C++標(biāo)準(zhǔn)庫(STL)?12. 迭代器和索引訪問的區(qū)別是什么?13. 線程的生命周期有哪些狀態(tài),鎖的種類有哪些?14. 解釋一下std::map和std::unordered_map的區(qū)別。15. std::vector的resize()和reserve()有什么不同、以及使用場景?16. 如何實(shí)現(xiàn)線程安全,除了使用互斥鎖還有哪些方法?17. std::vector擴(kuò)容時,resize和push_back的區(qū)別是什么?18. std::vector擴(kuò)容時為了避免頻繁擴(kuò)容采取了哪些策略?19. C++中空結(jié)構(gòu)體的大小是多少?20. shared_ptr是如何管理資源的?21. 虛析構(gòu)函數(shù)的底層實(shí)現(xiàn)原理是什么?22. 一個函數(shù)g(int x, int y),其中x和y的地址關(guān)系是什么?23. 移動賦值和拷貝賦值的區(qū)別是什么?24. lambda表達(dá)式中的捕獲方式有哪些?引用捕獲時需要注意什么?25. 處理哈希沖突的常見方法有哪些?26. std::unordered_map的擴(kuò)容機(jī)制是怎樣的?27. std::vector如何判斷是否需要擴(kuò)容?(size與capacity的關(guān)系)28. 構(gòu)造函數(shù)可以被聲明為override嗎?為什么?29. 類中的靜態(tài)成員函數(shù)可以是虛函數(shù)嗎?30. 哪些成員函數(shù)不能被聲明為虛函數(shù)?31. 如何確保一個類的實(shí)例只能在堆上創(chuàng)建?(私有構(gòu)造函數(shù)、單例模式)32. 請解釋你理解的虛繼承。33. C++中哪些運(yùn)算符無法被重載?34. 靜態(tài)鏈接和動態(tài)鏈接的區(qū)別,動態(tài)鏈接的機(jī)制是什么?35. C++中如何調(diào)用C語言編寫的函數(shù)?答案附在面經(jīng)中 c++/嵌入式面經(jīng)專欄-??途W(wǎng) http://fangfengwang8.cn/creation/manager/columnDetail/MJNwoM