天天看點

[面試]面試沖刺

面試沖刺

介于馬上要去面試了,還是惡補一下cpp吧。

  • 虛函數表點這
  • 虛析構函數點這
  • map
  • sort/qsort點這
  • lockstep
  • ecs
  • 使用memset初始化一個類會導緻類中的指針和虛函數表出現問題。相關連結
  • 使用

    memset(a,1,sizeof(a))

    初始化a數組不會達到預期的效果,因為memset會把每個位元組指派為1就會變成16843009。
  • sizeof會在編譯期間轉化為相應的數字(雖然聽說某标準表示,為了配合動态數組有些可以在運作時計算),是以請不要使用sizeof計算函數指針類型參數的大小,會傳回一個指針的長度,而不是這個指針指向的位址(數組,結構體,類)的長度。
  • sizeof會計算字元串末尾的

    \0

    ,而strlen不會.
  • vector增加新元素時可能會發生c儲存位置的變化,就是整個vector位置發射了移動。
  • C++常量折疊點此
  • const修飾的變量在c中表示為隻讀,而在C++中表示為常量.
  • const初始化常量的同時要指派。
  • ,(逗号運算符)優先級最低
  • 結構體的對其這裡
  • virtual 函數是動态綁定,而預設參數值卻是靜态綁定。絕不重新定義繼承而來的預設參數值!
  • C++默默編寫并實作了default構造函數、copy構造函數、copy assignment操作符,以及析構函數
  • C++構造函數種類這裡
  • 怎麼拒絕編譯器自動生成的函數,将函數聲明為private并且不予以實作。
  • 如果class帶有任何virtual函數,它就應該擁有一個virtual析構函數。
  • 4種類型轉換點這
  • template
  • explicit點這
  • if else 與三目運算符12
  • 短路求值1
  • 函數入棧1
  • 堆區,棧區1
  • 虛函數表是放在記憶體哪個位置的?在每一個對象中嗎?
  • 編譯成功、連結不成功可能是什麼情況
  • 變長參數1
  • 為什麼會有燙燙燙,屯屯屯。1
  • 翻轉字元
  • 中文編碼/編譯
  • 類怎麼儲存1
  • sizeof1不計算值2
  • 右值引用
  • memmove memcpy