VC面試問(wèn)題

時(shí)間:2022-07-13 13:56:15 面試 我要投稿
  • 相關(guān)推薦

VC面試問(wèn)題

1. 函數調用的幾種形式:

VC面試問(wèn)題

cdecl:c declare(C調用約定)的縮寫(xiě),是C和C++程序的缺省調用方式,規則是,按從右至左的順序壓參數入棧,由調用者把參數彈出棧,對于傳送參數的內存棧是由調用者來(lái)維護的,正因為如此,只有這種調用方式可實(shí)現個(gè)數不定的入口參數(可變參數)。

stdcall:是pascal程序的缺省調用方式,規則是,按從右至左的順序壓參數入棧,被調用的函數在返回前清理傳送參數的內存棧。

上兩者的主要區別是前者由調用者清理棧,后者由被調用的函清理棧。當然函數名的修飾部分也是不同的。

fastcall:采用寄存器傳遞參數,特點(diǎn)就是快了。

2.C++中用模板類(lèi)的好處:

(1)可用來(lái)創(chuàng )建動(dòng)態(tài)增長(cháng)和減小的數據結構

(2)它是類(lèi)型無(wú)關(guān)的,因此具有很高的可復用性。

(3)它在編譯時(shí)而不是運行時(shí)檢查數據類(lèi)型,保證了類(lèi)型安全

(4)它是平臺無(wú)關(guān)的,可移植性

(5)可用于基本數據類(lèi)型

3.SendMessage和postMessage,GetMessage和peekMessage有什么區別?

postMessage和SendMessage的區別主要是在于是否等待其他程序處理消息,postMessage只是把消息放入隊列,不管其他程序是否處理都返回,然后繼續執行,而SendMessage必須等待其他程序處理消息后才返回,繼續執行。這兩個(gè)函數的返回值也不同,postMessage的返回值表示postMessage函數執行是否正確,而SendMessage的返回值表示其他程序處理消息后的返回值。

peekMessage和GetMessage主要有以下區別:

1.GetMessage將等到有合適的消息時(shí)才返回,而peekMessage只是撇下一個(gè)消息隊列。

2. GetMessage會(huì )將消息從隊列中刪除,而peekMessage可以設置最后一個(gè)參數wRemoveMsg來(lái)決定是否將消息保留在隊列中。

創(chuàng )建線(xiàn)程的方式有三種,MFC的AfxBeginThread,win32ApI的CreateThread和C RunTime的_beginthreadex.其中AfxBeginThread創(chuàng )建線(xiàn)程有創(chuàng )建工作者線(xiàn)程和UI線(xiàn)程之分。

4.OnInitDialog,InitInstance,OnCreate在建立對話(huà)框中運行的先后順序。

答:InitInstance,OnCreate,OnInitDialog.運行順序從先到后。

5.談?wù)凜和C++的區別,你是如何理解面向對象思想的?

C和C++最大的區別是他們解決問(wèn)題的思想是不一樣的,C是一個(gè)結構化語(yǔ)言,重點(diǎn)在于算法和數據結構,對于C++考慮的是如何構造一個(gè)對象模型,使這個(gè)模型能配合對應的問(wèn)題,通過(guò)獲取對象的狀態(tài)信息得到輸出或實(shí)現過(guò)程控制。

面向對象是指人們認識客觀(guān)世界的思維方式,采用基于對象的概念去建立模型

6。Heap與stack的差別。

Heap是堆,stack是棧。

Stack的空間由操作系統自動(dòng)分配/釋放,Heap上的空間手動(dòng)分配/釋放。

Stack空間有限,Heap是很大的自由存儲區

C中的malloc函數分配的內存空間即在堆上,C++中對應的是new操作符。

程序在編譯期對變量和函數分配內存都在棧上進(jìn)行,且程序運行過(guò)程中函數調用時(shí)參數的傳遞也在棧上進(jìn)行

7.Windows下的內存是如何管理的?

內存分配方式有三種:

1.從靜態(tài)存儲區域分配。內存在程序編譯的時(shí)候就已經(jīng)分配好,這塊內存在程序的整個(gè)運行期間都存在。例如全局變量,static變量。

2.在棧上創(chuàng )建。在執行函數時(shí),函數內局部變量的存儲單元都可以在棧上創(chuàng )建,函數執行結束時(shí)這些存儲單元自動(dòng)被釋放。棧內存分配運算內置于處理器的指令集中,效率很高,但是分配的內存容量有限。

3.從堆上分配,亦稱(chēng)動(dòng)態(tài)內存分配。程序在運行的時(shí)候用malloc或new申請任意多少的內存,程序員自己負責在何時(shí)用free或釋放內存。動(dòng)態(tài)內存的生存期由我們決定,使用非常靈活,但問(wèn)題也最多。


【VC面試問(wèn)題】相關(guān)文章:

華為面試的問(wèn)題07-11

面試25問(wèn)題07-12

面試的衣著(zhù)問(wèn)題07-11

面試的經(jīng)典問(wèn)題與解答07-11

《面試》閱讀問(wèn)題07-11

面試中的問(wèn)題07-11

面試后的問(wèn)題07-11

面試問(wèn)題??07-11

面試準備問(wèn)題07-11

常用的面試問(wèn)題07-11

99久久精品免费看国产一区二区三区|baoyu135国产精品t|40分钟97精品国产最大网站|久久综合丝袜日本网|欧美videosdesexo肥婆