国产精品一久久香蕉产线看-国产精品一区在线播放-国产精品自线在线播放-国产毛片久久国产-一级视频在线-一级视频在线观看免费

IT公司筆試面試題系列

時間:2022-07-12 05:01:28 筆試 我要投稿
  • 相關推薦

IT公司筆試面試題系列

C++筆試題

IT公司筆試面試題系列

1.多態類中的虛函數表是Compile-Time,還是Run-Time時建立的?

答案:虛擬函數表是在編譯期就建立了,各個虛擬函數這時被組織成了一個虛擬函數的入口地址的數組.而對象的隱藏成員--虛擬函數表指針是在運行期--也就是構造函數被調用時進行初始化的,這是實現多態的關鍵.

2.一個父類寫了一個virtual 函數,如果子類覆蓋它的函數不加virtual ,也能實現多態?

在子類的空間里,有沒有父類的這個函數,或者父類的私有變量? (華為筆試題)

答案:只要基類在定義成員函數時已經聲明了virtue關鍵字,在派生類實現的時候覆蓋該函數時,virtue關鍵字可加可不加,不影響多態的實現。子類的空間里有父類的所有變量(static除外)。

3.完成字符串拷貝可以使用 sprintf、strcpy 及 memcpy 函數,請問這些函數有什么區別,你喜歡使用哪個,為什么?

答案:這些函數的區別在于實現功能以及操作對象不同。

1.strcpy 函數操作的對象是字符串,完成從源字符串到目的字符串的拷貝功能。

2.snprintf 函數操作的對象不限于字符串:雖然目的對象是字符串,但是源對象可以是字符串、也可以是任意基本類型的數據。這個函數主要用來實現(字符串或基本數據類型)向字符串的轉換功能。如果源對象是字符串,并且指定 %s 格式符,也可實現字符串拷貝功能。

3.memcpy 函數顧名思義就是內存拷貝,實現將一個內存塊的內容復制到另一個內存塊這一功能。內存塊由其首地址以及長度確定。程序中出現的實體對象,不論是什么類型,其最終表現就是在內存中占據一席之地(一個內存區間或塊)。因此,memcpy 的操作對象不局限于某一類數據類型,或者說可適用于任意數據類型,只要能給出對象的起始地址和內存長度信息、并且對象具有可操作性即可。鑒于 memcpy 函數等長拷貝的特點以及數據類型代表的物理意義,memcpy 函數通常限于同種類型數據或對象之間的拷貝,其中當然也包括字符串拷貝以及基本數據類型的拷貝。

對于字符串拷貝來說,用上述三個函數都可以實現,但是其實現的效率和使用的方便程度不同:

1.strcpy 無疑是最合適的選擇:效率高且調用方便。

2.snprintf 要額外指定格式符并且進行格式轉化,麻煩且效率不高。

3.memcpy 雖然高效,但是需要額外提供拷貝的內存長度這一參數,易錯且使用不便;并且如果長度指定過大的話(最優長度是源字符串長度 + 1),還會帶來性能的下降。其實 strcpy 函數一般是在內部調用 memcpy 函數或者用匯編直接實現的,以達到高效的目的。因此,使用 memcpy 和 strcpy 拷貝字符串在性能上應該沒有什么大的差別。


主站蜘蛛池模板: 天天干天天狠 | 一级特一级特色生活片 | 免费a级毛片在线播放 | 午夜网站视频 | 亚洲免费精品视频 | 亚洲欧美高清在线 | caoporm国产精品视频免费 | 日本欧美高清视频 | 超清乱人伦中文视频在线 | 最新日本中文字幕 | jizzjizz日本老师 | 国产亚洲情侣一区二区无 | 日韩在线伦理片免费观看 | 狠狠躁夜夜躁人人爽天天天天 | 国产免费叼嘿在线观看 | 艳妇乳肉豪妇荡乳a亚洲 | 一本久道久久综合多人 | 日日射视频 | 可以在线看黄的网站 | 日本欧美在线观看 | 德国最新精品性hd | 欧美在线视频观看 | 1204曰韩欧美成人看片 | 先锋影音国产精品 | 亚洲成人影院在线观看 | 亚洲日本中文字幕永久 | 成年人午夜剧场 | 亚洲国产一区二区三区最新 | 日韩中文字幕视频在线观看 | 欧美精品亚洲网站 | 黄色一级免费片 | 色爱区综合五月激情 | 欧洲精品视频在线观看 | 小明发看看加密通道2021 | 亚洲国产日韩a在线播放 | 18成人免费观看视频 | 久色视频网| 在线免费a视频 | 最近更新在线中文字幕一页 | 性亚洲无删减 | 福利体验区120秒免费观看 |