《程式員面試寶典》精華 程式設計語言部分,程式員面試寶典

來源:互聯網
上載者:User

《程式員面試寶典》精華 程式設計語言部分,程式員面試寶典
《程式員面試寶典》精華 程式設計語言部分

  • 正所謂取其精華,去其糟粕。本文謹記錄下《程式員面試寶典》一些關鍵的知識點、易錯點,對於一些雖然重要但書中沒有解釋清楚的地方不做記錄。當然這裡的糟粕只是指不那麼重要,或者比較簡單,並不是說書寫的不好。希望以後回顧時無需再看此書,只看保留在文中的精華即可。
  • 文中有少許bug,亦摘錄在此。
  • 本文專註程式設計語言部分,包括第五章到第九章的內容
第五章 語言細節
  • 5.1 y = z = 5,等號先計算右邊,返回值是賦值後的左邊的變數值
  • 5.1 printf函數中的運算式從右向左壓棧,應該先計算右方的值
  • 5.4 float型1.0f在記憶體中表示為:0x3f 80 00 00
  • 5.5 出現int常數的運算式中的變數通常都要提升至int型
  • 5.5 賦值運算子預設從右向左結合,也就是先計算右方的值
  • 5.5 (x&y) + ((x^y)>>1)效果是取二者的平均數
  • 5.6 不用判斷和switch語句求a、b中的較大的一個:((a + b) + abs(a - b)) / 2
  • 5.7 extern "C"的用法:函式宣告前添加,解決C/C++編譯器的名字封裝的不同問題
第六章 預先處理、const和sizeof
  • 6.1 求結構體中某成員的位移量:#define FIND(struc, e) (size_t)&(((struc *)0)->e)
  • 6.2 C語言中,const n = 10; char carray[n]是錯誤的,因為C編譯器不能把const看成編譯期的常量。但實驗得出是正確的,bug
  • 6.3 C++中給類成員變數添加mutable修飾符,就可以使用const函數修改
  • 6.3 結構體對齊原則:結構體長度一定是最長資料元素整數倍,但如果大於處理器位元,則以處理器位元為對齊單位。CPU資料對齊原則是資料的記憶體位址必須是該資料長度的整數倍,以提高運行速度
  • 6.3 sizeof(string) == 4
  • 6.3 空類以及(多重)繼承的空類大小都為1,但虛繼承的類含有虛表指標,大小為4
第七章 指標與引用
  • 7.1 指標與引用的區別
    • 引用總是非空的,指標可能為空白,使用時要小心測試
    • 引用不可以指向另一個對象,但指標可以更改
  • 7.1 int *p; *p = 0;是錯誤的,指標p並未指向某個實際的地址
  • 7.2 char a[] = "a"數組存放中棧中,函數返回即消失,char *a = "a"數組存放於全域唯讀資料區段
  • 7.2 若類B繼承類A,兩者皆有成員變數,A中有f方法,則B b; b.f()調用的是A中的f,f使用的變數也為A中的變數
  • 7.3 指向const的指標應該是const int *,bug
  • 7.3 int ( *(*f)(int, int) )(int)定義了一個函數指標,接收兩個int參數,返回值為一個函數指標
  • 7.4 指向整型數組的指標聲明為:int (*p) [],指向整型的指標數組聲明為:int *p[],函數指標的數組的聲明:int (*p[10])(int)
  • 7.5 懸浮指標指的是delete之後的指標,應該讓指標等於0,使得後續程式使用此懸浮指標出錯是可控的。比如第二次delete
  • 7.5 new/delete與malloc/free的區別
    • 前者是運算子,後者是函數
    • 前者除了後者申請與釋放動態記憶體的工作之外,對於非內建類型,還完成類初始化與析構操作
  • 7.6 autoptr中拷貝時會嘗試只保留一份指標,因此不適合放在容器中
第九章 STL模板與容器
  • 9.1 如果沒有重載拷貝建構函式為深拷貝,而又包含指標,那麼調用拷貝建構函式時會複製指標,造成同一個指標 delete多次

  
  

轉載請註明作者:Focustc,部落格地址為http://blog.csdn.net/caozhk,原文連結為點擊開啟
  
  
,電子版《C++程式員面試寶典》(梁鎮宇)與《程式員面試寶典》,先啦

樓主你好!
你要的兩本書都在這個壓縮包當中!都是PDF格式的!不知道符合的你的心意否?
希望我的回答對你有協助!望採納!謝謝!

 
《程式員面試寶典》txt全集下載

程式員面試寶典 txt全集小說附件已上傳到百度網盤,點擊免費下載:
有問題再找我

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.