日韩欧美另类久久久精品_亚洲大色堂人在线无码_国产三级aⅴ在线播放_在线无码aⅴ精品动漫_国产精品精品国产专区

百度2015校園招聘PC客戶端開發(fā)筆試題

  一、問答題:50分

  1、寫出new和malloc、delete和free的區(qū)別

  從面向對象來說,new/delete和malloc/free的區(qū)別是:malloc/free只是單純的進行內存空間的分配和釋放,而使用new/delete時,不僅分配了內存空間,若new/delete的是一個類,還會調用類(經測試,基本類型好像不會進行默認初始化)的構造函數(shù)或析構函數(shù)。

  簡單來說,兩者的區(qū)別主要有:

  1. malloc與free是C++/C語言的標準庫函數(shù),new/delete是C++的運算符,與”+“、”-“、”*“、”/“有一樣的地位。

  2. new/delete是可以重載的,而重載之后,就成為了函數(shù)。

  3. malloc在申請內存的時候,必須要提供申請的長度,而且返回的指針是void*型,必須要強轉成需要的類型。

  4. 當new/delete在類中被重載的時候,可以自定義申請過程,比如記錄所申請內存的總長度,以及跟蹤每個對象的指針。

  5. new/delete,其實內部也調用了malloc/free。

  兩者的共同點有:

  1. 都必須配對使用,防止內存泄露。

  2. 都可用于申請動態(tài)內存和釋放內存,都是在堆中分配內存。

  3. free和delete可以釋放NULL指針。

  2、寫兩個繼承類,解釋虛表指針和虛表的作用

  每一個類都有虛表。

  虛表可以繼承,如果子類沒有重寫虛函數(shù),那么子類虛表中仍然會有該函數(shù)的地址,只不過這個地址指向的是基類的虛函數(shù)實現(xiàn)。如果基類有3個虛函數(shù),那么基類的虛表中就有三項(虛函數(shù)地址),派生類也會有虛表,至少有三項,如果重寫了相應的虛函數(shù),那么虛表中的地址就會改變,指向自身的虛函數(shù)實現(xiàn)。如果派生類有自己的虛函數(shù),那么虛表中就會添加該項。

  派生類的虛表中虛函數(shù)地址的排列順序和基類的虛表中虛函數(shù)地址排列順序相同。

  3、寫出static的用法和作用

  static 是C++中很常用的修飾符,它被用來控制變量的存儲方式和可見性。函數(shù)內部定義的變量,在程序執(zhí)行到它的定義處時,編譯器為它在

  棧上分配空間,大家知道,函數(shù)在棧上分配的空間在此函數(shù)執(zhí)行結束時會釋放掉,這樣就產生了一個問題: 如果想將函數(shù)中此變量的值保存至

  下一次調用時,如何實現(xiàn)? 最容易想到的方法是定義一個全局的變量,但定義為一個全局變量有許多缺點,最明顯的缺點是破壞了此變量的

  訪問范圍(使得在此函數(shù)中定義的變量,不僅僅受此函數(shù)控制)。 需要一個數(shù)據(jù)對象為整個類而非某個對象服務,同時又力求不破壞類的封裝

  性,即要求此成員隱藏在類的內部,對外不可見。

  4、寫出計算機的存儲器層次,及原因

  以處理器為中心,計算機系統(tǒng)的存儲依次為寄存器、高速緩存、主存儲器、磁盤緩存、磁盤和可移動存儲介質等7個層次。距離處理器越近的存儲工作速度越高,容量越小。其中,寄存器、高速緩存、主存儲器為操作系統(tǒng)存儲管理的管轄范圍,磁盤和可移動存儲介質屬于操作系統(tǒng)設備管理的管轄范圍。

  5、寫出對windows中的句柄的理解

  所謂句柄實際上是一個數(shù)據(jù),是一個Long (整長型)的數(shù)據(jù)。

  句柄是WONDOWS用來標識被應用程序所建立或使用的對象的唯一整數(shù),WINDOWS使用各種各樣的句柄標識諸如應用程序實例,窗口,控制,位圖,GDI對象等等。WINDOWS句柄有點象C語言中的文件句柄。

  二、算法題:30分

  1、計算字符串的相似度-《編程之美》3.3

本文已影響6827
上一篇:百度用戶體驗工程師筆試題 下一篇:百度2015校園招聘前端開發(fā)筆試題

相關文章推薦

|||||