三句話回答C C 面試題

2022-05-16 12:36:12 字數 1754 閱讀 1084

1 inline函式的好處

節省呼叫開銷;相對於巨集展開,inline發生在編譯階段,會做型別檢查。

2 指標函式與函式指標的區別

指標函式是指帶指標的函式,即本質是乙個函式,其返回型別是某一型別的指標;函式指標是指向函式的指標變數,即本質是乙個指標變數。

3 左值與右值的區別

左值指的是可以取位址的變數,左值與右值的根本區別在於能否獲取記憶體位址。

4 c++中有malloc/free,為什麼還需要new/delete?

new/delete會呼叫構造/析構函式,適合於類型別物件的建立與銷毀。

5 c++空類預設有哪些成員函式?

預設建構函式、析構函式、複製建構函式、賦值函式。

6 過載(overload)和重寫(override)的區別

過載:在相同作用域中存在多個同名的函式,這些函式的參數列不同;

重寫:派生類重新定義基類虛函式。

7 main函式執行之前會執行什麼?

全域性物件的建構函式。

8 程序間如何通訊?

訊號、訊號量、訊息佇列、共享記憶體。

9 經常要操作的記憶體分為那幾個類別?

棧、堆、全域性區(靜態區)、字串常量區、程式**區。

10 有哪幾種情況初始化方式只能用initialization list而不能用assignment?

當類中含有const、reference成員變數;基類的建構函式。

11 c++是不是型別安全的?

不是,兩個不同型別的指標之間可以強制轉換(reinterpret_cast)。

12 c語言中volatile關鍵字的作用?

volatile本意是可變的,使用volatile宣告的變數要求在被系統訪問時總是重新從它所在的記憶體讀取資料,使得編譯器對訪問該變數的**不再進行優化,從而可以提供對特殊位址的穩定訪問。

13 面向過程與物件導向的區別?

面向過程:分析出解決問題所需要的步驟,然後用函式依次實現這些步驟,使用的時候依次呼叫;效能比物件導向高,但維護成本高。

物件導向:將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性、靈活性和擴充套件性,物件裡的程式可以訪問及經常修改物件相關連的資料;借助於封裝、繼承、多型性等特性,後期維護成本更低,更方便復用和擴充套件,但效能較差。

14 記憶體碎片是如何產生的?

記憶體碎片指的是系統中不可用的空閒記憶體,一般是由於記憶體對齊導致的。

15 new operator 和operator new 的區別?

new operator實際上先後呼叫了operator new和constrctor兩個函式。

16 vector與deque的區別?

1)deque訪問容器元素的效率比vector容器慢很多;

原因在於deque要跨記憶體塊來訪問,而vector只是使用乙個記憶體塊,不用跨記憶體的操作。vector容器相當於乙個可以動態分配的陣列。

2)擴充容器容量的方面deque比vector的效率高很多;

deque是申請乙個小的記憶體塊,然後把新申請的記憶體塊與其它的deque記憶體塊整合起來。

vector是申請乙個比原先更大的新記憶體塊,把原vector裡面的資料複製到新的大記憶體塊裡面,然後銷毀原先的記憶體塊。所以,在容量擴充方面,deque比vector高效,而且記憶體利用率也高。

3)vector不可以收縮,deque自動收縮;

vector不支援把容器的容量調小的操作,即容量需求小於實際容量的情況不會有任何操作。而deque因為它是有很多小記憶體塊的組成的,所以有空閒的記憶體塊時,會銷毀空閒的記憶體塊,但不會影響deque裡面已有的資料。

三句話濃縮人生

第一句話 你的責任就是你的方向,你的經歷就是你的資本,你的性格就是你的命運。第二句話 複雜的事情簡單做,你就是專家 簡單的事情重複做,你就是行家 重複的事情用心做,你就是贏家。第三句話 美好是屬於自信者的,機會是屬於開拓者的,奇蹟是屬於執著者的!你若不想做,總會找到藉口 你若想做,總會找到方法。沙子...

帶上三句話上路

帶上三句話上路 李小刀 你將要遠行,孩子,將有一生的歲月等你去走,我送你三句話帶在身邊。快樂是一種美德 要保持快樂,孩子,這是我們窮人最後的奢侈。不要輕易丟掉快樂的習慣,否則我們將更加一無所有。你要快樂,在每乙個清晨或傍晚。你要學會傾聽萬物的語言,你要試著與你身邊的河流 山川 大地交談。在你經過每乙...

老闆的三句話

乙個男人在外工作20年,終於要回家了,老闆問他 你是要20年的工資還是要3句忠告?男人說我明天上路,明早給您答案好嗎?老闆說可以。當晚男人未眠 早晨,他對老闆說 我要3個忠告。於是老闆給他3句話。一 不要試圖尋找不可能的捷徑,世上沒有便宜的事,只有腳踏實地才是最好的方法 無論做何事。二 不要對明知不...