三句话回答C/C++面试题
1 inline函數的好處
節省調用開銷;相對于宏展開,inline發生在編譯階段,會做類型檢查。
2 指針函數與函數指針的區別
指針函數是指帶指針的函數,即本質是一個函數;函數指針是指向函數的指針變量,即本質是一個指針變量。
3 左值與右值的區別
左值指的是可以取地址的變量,左值與右值的根本區別在于能否獲取內存地址。
4?C++中有malloc/free,為什么還需要new/delete?
new/delete會調用構造/析構函數,適合于類類型對象的創建與銷毀。
5?C++空類默認有哪些成員函數?
默認構造函數、析構函數、復制構造函數、賦值函數。
6 重載(overload)和重寫(overide)的區別
重載:在相同作用域中存在多個同名的函數,這些函數的參數表不同;
重寫:派生類重新定義基類虛函數。
7?main函數執行之前會執行什么?
全局對象的構造函數。
8 進程間如何通信?
信號、信號量、消息隊列、共享內存。
9 經常要操作的內存分為那幾個類別?
棧、堆、全局區(靜態區)、字符串常量區、程序代碼區。
10 有哪幾種情況初始化方式只能用initialization list而不能用assignment?
當類中含有const、reference成員變量;基類的構造函數。
11 C++是不是類型安全的?
不是,兩個不同類型的指針之間可以強制轉換(reinterpret_cast)。
轉載于:https://www.cnblogs.com/pepetang/p/11595355.html
總結
以上是生活随笔為你收集整理的三句话回答C/C++面试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 将数组中取某一值的元素全部
- 下一篇: element-ui + redis +