久久综合丝袜日本网手机版,日韩欧美中文字幕在线三区,亚洲精品国产品国语在线,极品在线观看视频婷婷

      <small id="aebxz"><menu id="aebxz"></menu></small>
    1. VC面試問題

      時間:2022-07-13 13:56:15 面試 我要投稿
      • 相關推薦

      VC面試問題

      1. 函數(shù)調用的幾種形式:

      VC面試問題

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

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

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

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

      2.C++中用模板類的好處:

      (1)可用來創(chuàng)建動態(tài)增長和減小的數(shù)據(jù)結構

      (2)它是類型無關的,因此具有很高的可復用性。

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

      (4)它是平臺無關的,可移植性

      (5)可用于基本數(shù)據(jù)類型

      3.SendMessage和postMessage,GetMessage和peekMessage有什么區(qū)別?

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

      peekMessage和GetMessage主要有以下區(qū)別:

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

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

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

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

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

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

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

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

      6。Heap與stack的差別。

      Heap是堆,stack是棧。

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

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

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

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

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

      內存分配方式有三種:

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

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

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


      【VC面試問題】相關文章:

      華為面試的問題07-11

      面試25問題07-12

      面試的衣著問題07-11

      面試的經典問題與解答07-11

      《面試》閱讀問題07-11

      面試中的問題07-11

      面試后的問題07-11

      面試問題??07-11

      面試準備問題07-11

      常用的面試問題07-11