国产精品尤物福利片在线观看_少妇免费毛片久久久久久久久_久久久久成人精品免费播放动漫_日韩av综合在线观看

歡迎來到010在線作文網(wǎng)!

Windows面試題

試題 時間:2021-08-31 手機(jī)版

  問MainFrm,CDocument和CView類之間的關(guān)系,

  MainFrm為框架類,包含應(yīng)用程序外框所包含部分。CView為視圖類,用于顯示數(shù)據(jù)的空白區(qū)域窗口。

  CDocument為文檔類。

  MFC提供了文檔/視類結(jié)構(gòu),采用數(shù)據(jù)本身和顯示分離的機(jī)制。其中文檔類CDocument用于數(shù)據(jù)的存儲和加載,視類CView用于數(shù)據(jù)的顯示與修改。

  Dialog和ModuelDialog不同用法

  1)類型不同

  MoudleDialog 模態(tài)對話框,屬于壟斷對話框,例如打開對話框,點擊打開后不能再執(zhí)行其他操作,會發(fā)出“嘟嘟嘟”的聲音;

  非模態(tài)對話框,屬于非壟斷對話框,利用查找對話框,點擊查找同時可以執(zhí)行其他操作;

  即:非模態(tài)不壟斷;模態(tài)壟斷。

  2)用法不同

  CDialog::Create :to create amodelessdialog box

  CDialog::DoModal :Call thismember function to invoke the modal dialog box andreturn the dialog-box resultwhen done

  windows消息系統(tǒng)由哪幾部分構(gòu)成?

  答:由一下3部分組成:

  1.消息隊列:操作系統(tǒng)負(fù)責(zé)為進(jìn)程維護(hù)一個消息隊列,程序運行時不斷從該消息隊列中獲取消息、處理消息;

  2.消息循環(huán):應(yīng)用程序通過消息循環(huán)不斷獲取消息、處理消息。

  3.消息處理:消息循環(huán)負(fù)責(zé)將消息派發(fā)到相關(guān)的窗口上使用關(guān)聯(lián)的窗口過程函數(shù)進(jìn)行處理。

  什么時候必須重寫拷貝構(gòu)造函數(shù)?

  答:當(dāng)構(gòu)造函數(shù)涉及到動態(tài)存儲分配空間時,要自己寫拷貝構(gòu)造函數(shù),并且要深拷貝。

  什么是消息映射?

  答:消息映射就是讓程序員指定MFC類(有消息處理能力的類)處理某個消息。然后由程序員完成對該處理函數(shù)的編寫,以實現(xiàn)消息處理功能。

  如何定義和實現(xiàn)一個類的成員函數(shù)為回調(diào)函數(shù)?

  答:

  所謂的回調(diào)函數(shù),就是預(yù)先在系統(tǒng)的對函數(shù)進(jìn)行注冊,讓系統(tǒng)知道這個函數(shù)的存在,以后,當(dāng)某個事件發(fā)生時,再調(diào)用這個函數(shù)對事件進(jìn)行響應(yīng)。

  定義一個類的成員函數(shù)時在該函數(shù)前加CALLBACK即將其定義為回調(diào)函數(shù),函數(shù)的實現(xiàn)和普通成員函數(shù)沒有區(qū)別

  MFC為何使用消息映射表而不用虛函數(shù)?

  這個問題是windows開發(fā)面試中最經(jīng)常問到得問題,也是很有深度的一個問題。

  有兩個帖子對該問題討論的比較深刻:

  http://topic.csdn.net/u/20090822/16/4cf5d189-0e5e-41ff-9ba3-c7eaf2f6da74.html

  http://topic.csdn.net/u/20090316/22/8b067591-6a17-4970-b224-41ab589294b3.html

  說法一:

  虛函數(shù)實現(xiàn)占用內(nèi)存較大

  侯捷在《深入淺出MFC》中說微軟使用消息映射機(jī)制而不用虛函數(shù),是因為虛函數(shù)空間代價的原因。在當(dāng)前MFC2.0版本發(fā)布的時候是92年,pc的內(nèi)存才幾M。一個類的虛表的大小就是虛函數(shù)的個數(shù)*一個指針的大小。

  假設(shè)windows的通用消息有200個,那么CWnd類的虛表就有 200*4個byte = 800byte,CWnd類的所有派生類均copy了一份CWnd的虛表vtable,然后自己的虛函數(shù)往后加CWnd類的虛表的后頭。

  (至于有人說CWnd類的派生類能共享CWnd的虛表,這個說法不靠譜。因為派生類自己的虛函數(shù)值加在基類的虛函數(shù)表項的最后的。如果CWnd派生了CWndChildA 和 CWndChildB,且兩個孩子均有自己的虛函數(shù),那么都往CWnd類的后面加,豈不是沖突了?)。

  也就是系統(tǒng)內(nèi)所有的CWnd類的派生類都要承受 800byte的代價。假設(shè)有100個類派生自CWnd 那么代價就是800*100byte 也就是 80K。這在當(dāng)時內(nèi)存很緊張的情況下,已經(jīng)是一種巨大的內(nèi)存消耗了!這里需要注意一點:vtable是和類綁定在一起的,而不是和類對象(也叫類的實例)綁定在一起的,類的實例僅增加一個指向該向類的vtable的指針而已。也就是說,如果你有100個CWnd派生類,哪怕你生成了100000個派生類的實例,vtable占用的內(nèi)存也是80K。

  看來在當(dāng)時的環(huán)境看來,MFC沒有采用虛函數(shù),內(nèi)存的確是一個考慮。

  但是放在現(xiàn)在看,這點內(nèi)存消耗確實微不足道的!也就是說,如果現(xiàn)在重新設(shè)計MFC的消息機(jī)制,如果不采用虛函數(shù),并非因為虛函數(shù)的空間浪費問題。結(jié)論:這個說法靠譜。

  說法二:

  消息映射機(jī)制效率比虛函數(shù)效率高。

  因為那么多消息ID,如果找到其對應(yīng)的消息處理函數(shù),switch是不可少的!(可以hash?哦哦,的確可能,不過mfc里面可沒這么做?mfc里面怎么做的我也不清楚)

  MFC中采用的是消息映射的機(jī)制,而沒有用虛函數(shù)的機(jī)制,因為消息有很多,如果用虛函數(shù)機(jī)制,需要給每個消息定義一個虛函數(shù),在分派消息時,程序需要逐一判斷是哪一個消息,找到合適的分支后再調(diào)用相應(yīng)的虛函數(shù);而通常情況下,應(yīng)用程序不需要響應(yīng)太多的消息,消息映射方式只需要判斷程序想要響應(yīng)的這些消息即可,所以開銷小。

  也就是說,MFC采用了消息映射而沒有采用虛函數(shù),是從對消息的響應(yīng)機(jī)制來考慮的。消息映射,就可以僅實現(xiàn)自己感興趣的消息,這樣switch時就可以快一點。

  不過話又說回來,對一個非自己感興趣的系統(tǒng)消息來了以后,就需要遍歷消息網(wǎng),層層的向基類查找直到找到對應(yīng)的消息處理函數(shù)!這本身也很浪費時間!也許這種情況比較少見吧,否則的話,消息映射的消息響應(yīng)時間并不比虛函數(shù)來的快!因為虛函數(shù)最多只需一次遍歷,而且,如果可以采用hash技術(shù),更快!

  如果說,大多數(shù)消息都是系統(tǒng)的消息,那么消息映射的迭代查找消息函數(shù)的方式并不比虛函數(shù)的switch來的快!

  PS:這里有一篇對比消息映射機(jī)制和虛函數(shù)機(jī)制效率的簡單模擬實驗

  http://blog.csdn.net/hjsunj/archive/2008/01/10/2034314.aspx結(jié)論,該說法不靠譜!

  說法三:

  為了未來的可擴(kuò)展性。兼容新的系統(tǒng)級的消息。

  我不是很清楚MS設(shè)計消息映射的初衷,但是感覺它著眼點更側(cè)重于增加新消息很容易,而不是節(jié)省內(nèi)存。

  如果我們使用虛函數(shù)機(jī)制實現(xiàn),恐怕對于每個可能的消息我們都必須在基類中定義一個虛函數(shù),而其首要的困難就是你無法猜測未來會出現(xiàn)什么消息,也無法確定需要定義什么樣函數(shù)原型的虛函數(shù)。而使用消息映射,解決這個問題則相對容易,因為這將由未來的程序設(shè)計者決定他們的'消息該如何處理。

  對于系統(tǒng)的新增消息,消息映射支持起來較方便。虛函數(shù)想要支持就需要改動基類添加虛函數(shù)。

  對于自定義的消息,無論消息映射和虛函數(shù)都可以很好的支持。

  那么虛函數(shù)方式如何支持自定義消息?

  自定義消息是不需要加到基類的。基類可以加個虛函數(shù),OnMessage(xxx), 然后有自定義消息的類實現(xiàn)之,用switch轉(zhuǎn)換成相應(yīng)虛函數(shù)調(diào)用,不是自己的消息再傳給基類。

  結(jié)論:這個說法靠譜。

  sendMessage與postMessage區(qū)別?

  不同點:sendMessage發(fā)送完畢以后需要等待處理完才返回;而postMessage發(fā)送消息后立即返回。

  Do not post the WM_QUIT message usingPostMessage; use thePostQuitMessage function.

  postMessage將消息放置到消息隊列中,不等待線程處理消息就立即返回。

  sendMessage發(fā)送指定的消息到窗口,并會調(diào)用窗口過程,直到窗口過程處理完畢后才返回。

  TCP的重發(fā)機(jī)制是怎么實現(xiàn)的?

  1.滑動窗口機(jī)制,確立收發(fā)的邊界,能讓發(fā)送方知道已經(jīng)發(fā)送了多少(已確認(rèn))、尚未確認(rèn)的字節(jié)數(shù)、尚待發(fā)送的字節(jié)數(shù);讓接收方知道(已經(jīng)確認(rèn)收到的字節(jié)數(shù))。

  2.選擇重傳,用于對傳輸出錯的序列進(jìn)行重傳。

  TCP和UDP的區(qū)別?

  1)TCP面向連接(三次握手機(jī)制),通信前需要先建立連接;UDP面向無連接,通信前不需要建立連接;


本文來源http://www.nvnqwx.com/shiti/2617696.htm
以上內(nèi)容來自互聯(lián)網(wǎng),請自行判斷內(nèi)容的正確性。若本站收錄的信息無意侵犯了貴司版權(quán),請給我們來信(zaixianzuowenhezi@gmail.com),我們會及時處理和回復(fù),謝謝.
国产精品尤物福利片在线观看_少妇免费毛片久久久久久久久_久久久久成人精品免费播放动漫_日韩av综合在线观看
欧美黄色免费影院| 久久婷婷五月综合色国产香蕉 | 久久偷看各类wc女厕嘘嘘偷窃| 久久久久99精品久久久久| 亚洲熟女乱色一区二区三区| 精品一区二区三区自拍图片区| 久久久久久久久久久免费 | 热99精品只有里视频精品| 久久亚洲一区二区| 亚洲欧美日韩精品综合在线观看 | 色妞欧美日韩在线| 日本一级淫片演员| 91精品国产九九九久久久亚洲| 这里只有精品66| 国产欧美一区二区三区在线看| 精品国产欧美成人夜夜嗨| 青青在线免费视频| 国产黄色激情视频| 日韩在线xxx| 69久久夜色精品国产69| 亚洲一区二区三区午夜| 99在线看视频| 午夜精品一区二区三区在线播放 | 成人久久精品视频| 一区二区三区国产福利| 99中文字幕| 亚洲 高清 成人 动漫| 91精品国产99| 日韩精品久久一区二区三区| 91精品视频在线免费观看| 亚洲三区视频| 久久人妻无码一区二区| 日韩不卡视频一区二区| 国产超级av在线| 欧美资源一区| 国产精品电影网| 国产美女精品视频| 亚洲中文字幕无码av永久| 69av在线视频| 欧洲精品久久| 国产精品高清在线| 成人av网站观看| 日韩av不卡播放| 久久精品成人一区二区三区| 欧美亚洲另类在线| 精品国产一区二区三区麻豆小说| 国产精品一区二区三区久久| 亚洲va韩国va欧美va精四季| 久久久久久噜噜噜久久久精品| 黄色网页免费在线观看| 欧美成人精品影院| 91精品国产91久久久久| 欧美中文字幕在线观看视频| 国产精品久久一区二区三区| 成人亚洲欧美一区二区三区| 日产精品久久久一区二区| 国产精品网站免费| 国产精品一区二区久久国产| 日本韩国在线不卡| 国产精品视频最多的网站| 国产精品自产拍在线观| 日韩视频在线观看国产| 精品福利影视| 久久精品日产第一区二区三区 | 黄色三级中文字幕| 中文字幕在线中文字幕日亚韩一区 | 欧美,日韩,国产在线| 中文字幕日本最新乱码视频| 久久国产精品免费一区| 国产一区 在线播放| 欧美一级片免费观看| 国产精品久久99久久| 国产精品99久久久久久久久久久久 | 一区国产精品| 国产精品视频专区| 久久综合色视频| 精品一区二区三区无码视频| 色狠狠久久av五月综合| 另类天堂视频在线观看| 久久久久久a亚洲欧洲aⅴ| 国产亚洲综合视频| 日韩精品一区二区三区不卡| 一道精品一区二区三区| 国产精品免费久久久久影院 | 久久国产精品免费视频| 国产成人av一区二区三区| 国内精品视频免费| 日韩成人手机在线| 伊人久久青草| 国产精品电影网站| 久久久久九九九| 成人免费aaa| 精品无码一区二区三区爱欲 | 99久久激情视频| 精品视频免费观看| 日韩欧美一区二区在线观看| 亚洲制服欧美久久| 久久国产色av| 色偷偷偷亚洲综合网另类| www黄色av| 蜜桃麻豆91| 青青草久久网络| 丁香六月激情婷婷| 亚洲一区二区高清视频| 国产精品美女在线| 久久久久久久久久久视频| 91精品久久久久久蜜桃| 成人精品久久久| 国产免费一区| 国产午夜精品视频一区二区三区| 欧美日韩亚洲在线| 欧美亚洲另类在线| 欧美一区观看| 五码日韩精品一区二区三区视频| 久久99青青精品免费观看| 国产精品沙发午睡系列| 色999日韩欧美国产| 国产成人激情视频| 国产精品777| 91av在线网站| 国产经典一区二区三区| 91久久久久久| 91国偷自产一区二区三区的观看方式 | 99视频精品免费| 超碰在线97av| 97精品国产97久久久久久免费| 成人免费在线网址| yy111111少妇影院日韩夜片| 99久re热视频这里只有精品6| 丰满爆乳一区二区三区| 国产欧美综合一区| www插插插无码免费视频网站| yellow视频在线观看一区二区| 北条麻妃在线视频观看| 国产日韩欧美二区| 国产女人18毛片| 国产精品一区二区你懂得| 不卡日韩av| 国产成人精品视频| 国产成人无码精品久久久性色| 精品国偷自产在线视频| 国产精品久久久久久久久久久久久久| 国产精品久久中文字幕| 久久综合久中文字幕青草 | 欧美日韩一区在线观看视频| 黄色免费观看视频网站| 国产日产欧美一区二区| 白嫩少妇丰满一区二区| 久久资源av| 国产精品视频免费在线观看| 久久综合九色九九| 亚洲最大成人在线| 日韩美女免费视频| 国产在线播放不卡| www.久久草| 日韩亚洲欧美中文在线| 国产精品海角社区在线观看| 亚洲图片都市激情| 日本在线精品视频| 精品欧美一区二区久久久伦 | 热久久美女精品天天吊色| 激情视频小说图片| 国产毛片视频网站| 91精品国产自产91精品| 久久久久久久久久久久久久国产| 国产精品久久久久av福利动漫| 九九热精品在线| 手机看片日韩国产| 欧美亚洲免费高清在线观看| 国产精品一区专区欧美日韩| 久久久在线视频| 国产精品狠色婷| 午夜精品免费视频| 狠狠爱一区二区三区| 99免费视频观看| 久久久国产精品免费| 美女久久久久久久久久久| 天堂va久久久噜噜噜久久va| 精品日本一区二区三区 | 国产成人精品免费视频大全最热| 久久激情视频久久| 亚洲一区二区久久久久久| 免费在线观看日韩视频| 国产精品av免费在线观看| 国产精品美腿一区在线看| 丁香六月激情婷婷| 国产日韩欧美日韩大片| 日韩少妇与小伙激情| 亚洲欧美久久234| 欧洲一区二区在线| 99在线视频免费观看| 国产精品观看在线亚洲人成网| 日本一区二区三区免费观看| 国产特级黄色大片| 精品国产视频在线| 欧美一区二区三区电影在线观看| 国产一区红桃视频| 久久精品国产成人精品| 日本三级韩国三级久久| 91精品国产精品|