锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产欧美日韩,熟妇人妻久久中文字幕,久久久久人妻一区二区三区vrhttp://www.shnenglu.com/deane/category/11120.html 榪介愭ⅵ鎯籌紝姘鎬笉鍋滄......zh-cnMon, 01 Mar 2010 21:22:02 GMTMon, 01 Mar 2010 21:22:02 GMT60鍏充簬C++涓殑涓存椂瀵硅薄闂http://www.shnenglu.com/deane/archive/2010/02/25/108428.html鏉庨槼鏉庨槼Thu, 25 Feb 2010 06:44:00 GMThttp://www.shnenglu.com/deane/archive/2010/02/25/108428.htmlhttp://www.shnenglu.com/deane/comments/108428.htmlhttp://www.shnenglu.com/deane/archive/2010/02/25/108428.html#Feedback0http://www.shnenglu.com/deane/comments/commentRss/108428.htmlhttp://www.shnenglu.com/deane/services/trackbacks/108428.html闃呰鍏ㄦ枃

鏉庨槼 2010-02-25 14:44 鍙戣〃璇勮
]]>
鍓栨瀽Windows娑堟伅澶勭悊鏈哄埗http://www.shnenglu.com/deane/archive/2010/01/07/105099.html鏉庨槼鏉庨槼Thu, 07 Jan 2010 08:17:00 GMThttp://www.shnenglu.com/deane/archive/2010/01/07/105099.htmlhttp://www.shnenglu.com/deane/comments/105099.htmlhttp://www.shnenglu.com/deane/archive/2010/01/07/105099.html#Feedback0http://www.shnenglu.com/deane/comments/commentRss/105099.htmlhttp://www.shnenglu.com/deane/services/trackbacks/105099.html
鍓嶄竴孌碉紝甯漢鍐欎簡涓皬鎺т歡錛屽張娓╀範浜嗕竴閬峎indows娑堟伅澶勭悊鏈哄埗錛岀幇鍦ㄦ妸涓浜涚煡璇嗙偣鎬葷粨鍑烘潵錛屼緵澶у鍙傝?


1.紿楀彛
   Windows紼嬪簭鏄敱涓緋誨垪鐨勭獥鍙f瀯鎴愮殑錛屾瘡涓獥鍙i兘鏈夎嚜宸辯殑紿楀彛榪囩▼錛岀獥鍙h繃紼嬪氨鏄竴涓嫢鏈夋湁鍥哄畾 Signature 鐨?C鍑芥暟錛屽叿浣撴牸寮忓涓嬶細

   LRESULT CALLBACK WindowProc(HWND hwnd,
       UINT uMsg,
       WPARAM wParam,
       LPARAM lParam
   );
  
   紿楀彛綾誨瀷錛?br>   鍙噸鍙犵獥鍙?Overlapped Window)錛?br>   寮瑰嚭紿楀彛(Pop-up Window)錛?br>   瀛愮獥鍙?Child Window)
  
   紿楀彛涔嬮棿鐨勫叧緋? 鐖跺瓙鍏崇郴錛屾嫢鏈夊叧緋伙紝鍓嶅悗鍏崇郴銆?br>  
2.綰跨▼
    涓涓繘紼嬭嚦灝戞嫢鏈変竴涓嚎紼嬶紝縐頒負涓葷嚎紼嬶紝濡傛灉涓涓嚎紼嬪垱寤轟簡紿楀彛錛屾嫢鏈塆UI璧勬簮錛岄偅涔堜篃縐拌綰跨▼涓篏UI綰跨▼,鍚﹀垯灝變負宸ヤ綔綰跨▼銆傜獥鍙f槸鐢辯嚎紼嬪垱寤虹殑錛?br> 鍒涘緩紿楀彛鐨勭嚎紼嬪氨鎷ユ湁璇ョ獥鍙c傝繖縐嶇嚎紼嬫嫢鏈夊叧緋葷殑姒傚康瀵圭獥鍙f湁閲嶈鐨勬剰涔夛細寤虹珛紿楀彛鐨勭嚎紼嬪繀欏繪槸涓虹獥鍙e鐞嗘墍鏈夋秷鎭殑綰跨▼銆備負浜嗕嬌榪欎釜姒傚康鏇村姞鏄?br> 紜叿浣擄紝鍙互鎯沖儚涓涓嚎紼嬪緩绔嬩簡涓涓獥鍙o紝鐒跺悗灝辯粨鏉熶簡銆傚湪榪欑鎯呭喌涓嬶紝紿楀彛涓嶄細鏀跺埌涓涓猈M_DESTROY鎴朩M_NCDESTROY娑堟伅錛屽洜涓虹嚎紼嬪凡緇忕粨鏉燂紝涓嶅彲
 鑳借鐢ㄦ潵浣跨獥鍙f帴鏀跺拰澶勭悊榪欎簺娑堟伅銆傛瘡涓嚎紼嬶紝濡傛灉瀹冭嚦灝戝緩绔嬩簡涓涓獥鍙o紝閮界敱緋葷粺瀵瑰畠鍒嗛厤涓涓秷鎭槦鍒椼傝繖涓槦鍒楃敤浜庣獥鍙f秷鎭殑媧鵑?dispatch)銆?br> 涓轟簡浣跨獥鍙f帴鏀惰繖浜涙秷鎭紝綰跨▼蹇呴』鏈夊畠鑷繁鐨勬秷鎭驚鐜紝娑堟伅寰幆涓鑸涓嬶細
 
 MSG msg;
 while( GetMessage(&msg, NULL, 0, 0) )
 {
  TranslateMessage (&msg);
  DispatchMessage (&msg);
 }
 
 搴旂敤紼嬪簭涓嶆柇鐨勪粠娑堟伅闃熷垪涓幏鍙栨秷鎭?鐒跺悗緋葷粺閫氳繃DispatchMessage鍑芥暟鍒嗘淳娑堟伅鍒扮浉搴旂獥鍙g殑紿楀彛榪囩▼錛屼嬌寰楁秷鎭緱鍒板鐞嗐傚綋鑾峰彇鍒癢M_QUIT娑堟伅鏃訛紝
 GetMessage榪斿洖0錛屽驚鐜粨鏉熴?br> 
3.娑堟伅
 娑堟伅錛屽氨鏄寚Windows鍙戝嚭鐨勪竴涓氱煡錛屽憡璇夊簲鐢ㄧ▼搴忔煇涓簨鎯呭彂鐢熶簡銆備緥濡傦紝鍗曞嚮榧犳爣銆佹敼鍙樼獥鍙e昂瀵搞佹寜涓嬮敭鐩樹笂鐨勪竴涓敭閮戒細浣縒indows鍙戦佷竴涓秷鎭?br> 緇欏簲鐢ㄧ▼搴忥紝瀹冭瀹氫箟涓猴細
  typedef struct {
  HWND hwnd;    //紿楀彛鍙ユ焺, 鍙戠敓鍦ㄥ摢涓獥鍙d笂
  UINT message;   //娑堟伅鏍囪瘑鍙?( WM_MOUSEMOVE, WM_LBUTTONDOWN, ... )
  WPARAM wParam;   //娑堟伅鍙傛暟1
  LPARAM lParam;   //娑堟伅鍙傛暟2
  DWORD time;
  POINT pt;
 } MSG, *PMSG;
 涓涓秷鎭粨鏋勪綋鍖呭惈浜嗚浜嬩歡 鎵鏈夊畬澶囦俊鎭紝褰撳簲鐢ㄧ▼搴忔敹鍒拌娑堟伅鏃訛紝灝卞彲浠ュ仛鍑虹浉搴斿鐞嗕簡銆?br> 
 娑堟伅鍒嗙被

 <1>.闃熷垪娑堟伅鍜岄潪闃熷垪娑堟伅

  浠庢秷鎭殑鍙戦侀斿緞涓婄湅錛屾秷鎭垎涓ょ錛氶槦鍒楁秷鎭拰闈為槦鍒楁秷鎭?br>  闃熷垪娑堟伅閫佸埌緋葷粺娑堟伅闃熷垪錛岀劧鍚庡埌綰跨▼娑堟伅闃熷垪錛涢潪闃熷垪娑堟伅鐩存帴閫佺粰鐩殑紿楀彛榪囩▼銆?/p>

  榪欓噷錛屽娑堟伅闃熷垪闃愯堪濡備笅錛?br>  Windows緇存姢涓涓郴緇熸秷鎭槦鍒?System message queue)錛屾瘡涓狦UI綰跨▼鏈変竴涓嚎紼嬫秷鎭槦鍒?Thread message queue)銆傞紶鏍囥侀敭鐩樹簨浠剁敱榧犳爣鎴栭敭鐩橀┍鍔?br>  紼嬪簭杞崲鎴愯緭鍏ユ秷鎭茍鎶婃秷鎭斁榪涚郴緇熸秷鎭槦鍒楋紝渚嬪WM_MOUSEMOVE銆乄M_LBUTTONUP銆乄M_KEYDOWN銆乄M_CHAR絳夌瓑銆俉indows姣忔浠庣郴緇熸秷鎭槦鍒楃Щ璧頒竴涓?br>  娑堟伅錛岀‘瀹氬畠鏄佺粰鍝釜紿楀彛鐨勫拰榪欎釜紿楀彛鏄敱鍝釜綰跨▼鍒涘緩鐨勶紝鐒跺悗錛屾妸瀹冩斁榪涚獥鍙e垱寤虹嚎紼嬬殑綰跨▼娑堟伅闃熷垪銆傜嚎紼嬫秷鎭槦鍒楁帴鏀墮佺粰璇ョ嚎紼嬫墍鍒涘緩紿楀彛
  鐨勬秷鎭傜嚎紼嬩粠娑堟伅闃熷垪鍙栧嚭娑堟伅錛岄氳繃Windows鎶婂畠閫佺粰閫傚綋鐨勭獥鍙h繃紼嬫潵澶勭悊銆?br>  
  闄や簡閿洏銆侀紶鏍囨秷鎭互澶栵紝闃熷垪娑堟伅榪樻湁WM_PAINT銆乄M_TIMER鍜學M_QUIT銆傝繖浜涢槦鍒楁秷鎭互澶栫殑緇濆ぇ澶氭暟娑堟伅鏄潪闃熷垪娑堟伅銆?/p>


 <2>.緋葷粺娑堟伅鍜屽簲鐢ㄧ▼搴忔秷鎭?

  浠庢秷鎭殑鏉ユ簮鏉ョ湅錛屽彲浠ュ垎涓猴細緋葷粺瀹氫箟鐨勬秷鎭拰搴旂敤紼嬪簭瀹氫箟鐨勬秷鎭?/p>

  緋葷粺娑堟伅ID鐨勮寖鍥存槸浠?鍒癢M_USER-1錛屾垨0X80000鍒?XBFFFF錛涘簲鐢ㄧ▼搴忔秷鎭粠WM_USER(0X0400)鍒?X7FFF錛屾垨0XC000鍒?XFFFF錛沇M_USER鍒?X7FFF鑼冨洿鐨勬秷鎭?br>  鐢卞簲鐢ㄧ▼搴忚嚜宸變嬌鐢紱0XC000鍒?XFFFF鑼冨洿鐨勬秷鎭敤鏉ュ拰鍏朵粬搴旂敤紼嬪簭閫氫俊錛屼負浜咺D鐨勫敮涓鎬э紝浣跨敤::RegisterWindowMessage鏉ュ緱鍒拌鑼冨洿鐨勬秷鎭疘D銆?br> 
 <3>.紿楀彛娑堟伅錛屽懡浠ゆ秷鎭紝鎺т歡閫氱煡娑堟伅
  鏍規嵁澶勭悊榪囩▼鐨勪笉鍚?鍙互鍒嗕負涓夌被錛氱獥鍙f秷鎭紝鍛戒護娑堟伅錛屾帶浠墮氱煡娑堟伅銆?br>  
  (1).紿楀彛娑堟伅
   涓鑸互WM_寮澶達紝濡俉M_CREATE, WM_SIZE, WM_MOUSEMOVE絳夋爣鍑嗙殑Windows娑堟伅, 鐢ㄤ簬紿楀彛鐩稿叧鐨勪簨浠墮氱煡錛岀獥鍙f秷鎭皢鐢辯郴緇熷垎閰嶅埌璇ョ獥鍙g殑紿楀彛榪囩▼澶勭悊銆?br>  (2).鍛戒護娑堟伅 (WM_COMMAND)
   涓縐嶇壒孌婄殑紿楀彛娑堟伅錛屽畠浠庝竴涓獥鍙e彂閫佸埌鍙︿竴涓獥鍙d互澶勭悊鏉ヨ嚜鐢ㄦ埛鐨勮姹傦紝閫氬父鏄粠瀛愮獥鍙e彂閫佸埌鐖剁獥鍙o紝渚嬪錛岀偣鍑繪寜閽椂錛屾寜閽殑鐖剁獥鍙d細鏀跺埌
   WM_COMMAND娑堟伅錛岀敤浠ラ氱煡鐖剁獥鍙f寜閽鐐瑰嚮錛岀粡嫻嬭瘯錛氬瓙紿楀彛鍚戠埗紿楀彛鍙戦乄M_COMMAND娑堟伅錛屾垨鑰呯О涓虹埗紿楀彛浼氭敹鍒癢M_COMMAND娑堟伅錛屾搷浣滅郴緇熷茍涓嶆槸
   閫氳繃灝哤M_COMMAND娑堟伅鏀懼叆鍒扮埗紿楀彛鐨勬秷鎭槦鍒椾腑鍘伙紝鑰屾槸鐩存帴璋冪敤浜嗙埗紿楀彛鐨勭獥鍙h繃紼嬶紝浠?WM_COMMAND 涓烘秷鎭爣璇嗗弬鏁?UINT uMsg)錛屽疄鐜拌繖涓姛鑳界殑
   API鍑芥暟姝f槸: LRESULT DispatchMessage(const MSG *lpmsg);
  (3).鎺т歡閫氱煡娑堟伅
   WM_NOTIFY娑堟伅錛屽綋鐢ㄦ埛涓庢帶浠朵氦浜?Edit, Button...)鏃訛紝閫氱煡娑堟伅浼氫粠鎺т歡紿楀彛鍙戦佸埌鐖剁獥鍙o紝榪欑娑堟伅鐨勭洰鐨勪笉鏄負浜嗗鐞嗙敤鎴峰懡浠わ紝鑰屾槸涓轟簡璁╃埗紿?br>   鍙h兘澶熼傛椂鐨勬敼鍙樻帶浠躲?br>  

4.嫻嬭瘯
 <1>.嫻嬭瘯浠g爜:
 
  娑堟伅寰幆涓紝灝嗕粠娑堟伅闃熷垪涓彇鍑虹殑娑堟伅閫愪竴鎵撳嵃鍑烘潵錛?br>

while(GetMessage(&msg, NULL, 00))
  
{
   
char buf[1024];
   sprintf_s(buf, 
1024"hWnd:%d uMsg: %d WParam: %d  LParam: %d\n",
    msg.hwnd, msg.message, msg.wParam, msg.lParam);
   std::cout
<<buf;
   TranslateMessage(
&msg);
   DispatchMessage(
&msg);
  }


  鍦ㄧ獥鍙h繃紼嬩腑錛屽鏋滄敹鍒?WM_COMMAND 娑堟伅錛屽氨鍦ㄧ獥鍙d笂杈撳叆鏉ャ?br>

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
  
{
   
switch (message)
   
{
   
case WM_COMMAND:
    HDhdc 
= GetDC (hwnd) ;
    SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT)) ;
    TextOut(hdc, 
24 * cxChar, cyChar * (rect.bottom / cyChar - 1),
      szBuffer,
      wsprintf(szBuffer, szFormat,
      TEXT (
"WM_COMMAND"),
      HIWORD(wParam), LOWORD(wParam),
      HIWORD(lParam), LOWORD(lParam))
      );

    ReleaseDC (hwnd, hdc) ;
    ValidateRect (hwnd, 
&rect) ;
    
break ;
   
   
   
   }

   

   
return DefWindowProc (hwnd, message, wParam, lParam) ;
 }


 

      <2>.榪愯緇撴灉
    涓涓獥鍙o紝紿楀彛涓婃湁涓涓寜閽瓙紿楀彛錛岀劧鍚庤繕鏈変竴涓帶鍒跺彴錛岃緭鍑烘秷鎭驚鐜腑鐨勬瘡鏉℃秷鎭紝褰撶埗紿楀彛鏀跺埌 WM_COMMAND 娑堟伅鏃訛紝
    浼氬湪灞忓箷涓婅緭鍑恒?br>




      (1). 褰撻紶鏍囧湪鐖剁獥鍙d笂縐誨姩鏃訛細
   



            鍙鐖剁獥鍙?hWnd: 461982錛寀Msg : 521 ( WM_MOUSEMOVE )錛屼粠綰跨▼娑堟伅闃熷垪涓彇鍑虹殑銆?br>


      (2). 褰撻紶鏍囧湪鎸夐挳瀛愮獥鍙d笂縐誨姩鏃訛細



            鍙鎸夐挳 hWnd: 462118錛寀Msg : 521 ( WM_MOUSEMOVE)錛屼粠綰跨▼娑堟伅闃熷垪涓彇鍑虹殑銆?br>


      (3). 褰撻紶鏍囧湪鐖剁獥鍙d笂鐐瑰嚮鏃訛細




         鐖剁獥鍙f敹鍒頒簡 513(WM_LBUTTONDOWN), 514(WM_LBUTTONUP) 娑堟伅錛屼粠綰跨▼娑堟伅闃熷垪涓彇鍑虹殑銆?br>


      (4). 褰撻紶鏍囧湪鎸夐挳紿楀彛涓婄偣鍑繪椂錛?br>



         鎸夐挳紿楀彛浠庣嚎紼嬬殑娑堟伅闃熷垪涓彇鍑轟簡 513(WM_LBUTTONDOWN), 514(WM_LBUTTONUP) 娑堟伅錛岀埗紿楀彛鏀跺埌浜哤M_COMMAND
         娑堟伅錛孴extOut 緇樺埗鍑?WM_COMMAND 鏂囨湰銆?br>         

         鎴戝湪 WM_COMMAND 鐨勬秷鎭鐞嗚鍙ュ鎵撴湁鏂偣錛岀湅涓嬪浘:



         
         鍙錛岀獥鍙h繃紼嬫槸琚郴緇熻皟鐢ㄧ殑錛岃皟鐢ㄦ椂緋葷粺浼犲叆鐨勫弬鏁板間負錛?br>                        hwnd:          0x00070c9e錛屽崄榪涘埗灝辨槸461982錛岀埗紿楀彛鍙ユ焺錛?br>                        message:      273 (WM_COMMAND)
                        wParam:      ...
                         lParam:       ...
          鍏蜂綋鏄疻inMain涓殑鍝竴涓嚱鏁頒腑鏈鍚庤皟鐢ㄤ簡 紿楀彛榪囩▼ WndProc 鍛紝瑙佷笅鍥撅細







            鍘熸潵鏄湪 DispatchMessage 鍑芥暟涓紝鍐嶇湅鐪嬪弬鏁扮殑鍊鹼細
            msg.hwnd:             0x00070d26錛屽崄榪涘埗鏄?62118錛屾槸鎸夐挳紿楀彛鐨勫彞鏌?
            msg.message:         514 (  WM_LBUTTONUP  )
            鍝~~~錛屽師鏉ユ槸鎿嶄綔緋葷粺鍦ㄤ粠璇ョ嚎紼嬬殑娑堟伅闃熷垪涓彇鍑烘寜閽殑 WM_LBUTTONUP (榧犳爣宸﹂敭閲婃斁) 娑堟伅鍚庯紝璋冪敤
            DispatchMessage 鍒嗘淳娑堟伅錛孌ispatchMessage 浼氬厛灝?WM_LBUTTONUP 娑堟伅鍒嗘淳鍒版寜閽殑紿楀彛榪囩▼(緋葷粺榛樿鏈?錛?br>            榪欓噷鐨勫垎媧懼埌鎸夐挳鐨勭獥鍙h繃紼嬪氨鏄皟鐢ㄤ亢灝辯殑紿楀彛榪囩▼錛岀劧鍚庡張浠?鎸夐挳鐨勭埗紿楀彛鐨勫彞鏌勪負 紿楀彛榪囩▼鐨勭涓涓?br>            鍙傛暟錛?WM_COMMAND 涓虹獥鍙h繃紼嬬殑絎簩涓弬鏁?璋冪敤浜?nbsp;鐖剁獥鍙g殑紿楀彛榪囩▼錛屼篃灝辨槸灝?WM_COMMAND
            娑堟伅鍒嗗彂鍒頒簡鐖剁獥鍙o紝浠庤屼嬌鐖剁獥鍙e緱鍒頒簡閫氱煡銆傝繖浜涳紝閮芥槸 Windows 鏉ュ畬鎴愮殑錛屽簲鐢ㄧ▼搴忓彧闇瑕佸湪鐩稿簲鐨勭獥鍙?br>            榪囩▼涓鐞嗙浉搴旂殑娑堟伅銆?br>
            浠庝笂闈紝鎴戜滑榪樺彲浠ョ湅鍑猴紝WM_COMMAND 鏄潪闃熷垪娑堟伅錛岀洿鎺ュ垎媧懼埌鐩殑紿楀彛榪囩▼錛岃屼笉鏄斁鍏ュ埌娑堟伅闃熷垪涓紝
            璁╂秷鎭驚鐜幓鍙栥?br>


 鎬葷粨:

           綆鑰岃█涔嬶紝 鏍囧噯Windows娑堟伅鍙戦佸埌浜х敓紿楀彛錛岄氱煡娑堟伅(WM_COMMAND, WM_NOTIFY)鍙戦佸埌鐖剁獥鍙o紝榪欐槸Windows
           鐨勬爣鍑嗘秷鎭鐞嗚繃紼嬶紝MFC瀵?Window API 榪涜浜嗗皝瑁咃紝鏈夎嚜宸辯殑涓濂楁秷鎭鐞嗘祦紼嬶紝 娑堟伅欏虹潃涓鏉¤礬寰勬祦鍔紝闇瑕?br>           澶勭悊鐨勫璞″彲浠ユ坊鍔犳秷鎭搷搴斿嚱鏁板鐞嗕箣錛屽浜庡懡浠ゆ秷鎭紝瀹冩湁 CView , CDocument,  CMainFram ,  CWinApp 涓緋誨垪澶勭悊
          鑺傜偣錛屽浜庨氱煡娑堟伅錛孧FC榪樺姞鍏ヤ竴縐嶅緢濂界殑鏈哄埗錛氭秷鎭弽灝勶紝灝辨槸鐖剁獥鍙f敹鍒板瓙紿楀彛鍙戝嚭鐨勯氱煡娑堟伅鍚庯紝浼氬皢姝ゆ秷鎭?br>           鍙戦佺粰瀛愮獥鍙o紝鍏堣瀛愮獥鍙e鐞嗭紝濡傛灉瀛愮獥鍙d笉澶勭悊錛岀埗紿楀彛鍐嶅鐞嗕箣錛岃繖鏍鋒湁鍒╀簬灝嗘墍鏈夋秷鎭鐞嗕唬鐮侀兘闆嗘垚浜嗗瓙紿楀彛
           涓紝鏈夊埄浜庢帶浠剁殑寮鍙戙侻FC鐨勬秷鎭鐞嗭紝鎴戜笉浜堣緇嗚璁轟簡錛屾湁鍏磋叮鐨勫彲浠ュ弬鑰冧警鎹風殑<<娣卞叆嫻呭嚭MFC>>銆?br>










鏉庨槼 2010-01-07 16:17 鍙戣〃璇勮
]]>
鍏充簬 return void()http://www.shnenglu.com/deane/archive/2009/07/08/89536.html鏉庨槼鏉庨槼Wed, 08 Jul 2009 03:54:00 GMThttp://www.shnenglu.com/deane/archive/2009/07/08/89536.htmlhttp://www.shnenglu.com/deane/comments/89536.htmlhttp://www.shnenglu.com/deane/archive/2009/07/08/89536.html#Feedback0http://www.shnenglu.com/deane/comments/commentRss/89536.htmlhttp://www.shnenglu.com/deane/services/trackbacks/89536.html
澶у閮界煡閬擄紝return 鐢ㄦ潵鍦ㄥ嚱鏁伴噷榪斿洖錛屾湁涓ょ褰㈠紡錛氫竴鏄?鐩存帴鐢╮eturn; 鎴栬呯渷鐣ワ紝琛ㄧず鏃犺繑鍥炲箋備簩鏄?return expression; 榪斿洖涓涓箋?br>浠婂ぉ嫻嬭瘯鏃舵垜鍙戠幇涓ょ浠ュ墠娌℃敞鎰忕殑鏂瑰紡錛屼篃鏄紜殑銆?br>

<1>.  
void FuncA()
{
    
return void();   //姝g‘鐨勶紝鍚岋細return;
}


<2>.
void FuncB()
{
    
return FuncA();//涔熷彲浠ワ紝鍚岋細 FuncA();
}



榪欎袱縐嶇壒鎬у湪鏌愪簺鎯呭喌涓嬶紝鏄緢鏈夌敤鐨勩傛瘮濡傦紝鎴戣鍐欎竴涓嚱鏁版ā鏉匡紝浠?浠繪剰鐨勬ā鏉垮弬鏁扮被鍨?T 涓鴻繑鍥炲箋?br>
template <typename T>
T FuncC()
{
    
return T();    //榪欓噷涓句緥榪斿洖 T();
}


template 
<typename T>
T FuncD()
{
    
return FuncC<T>();
}


鎵浠ュ嵆浣垮浜?榪斿洖鍊?涓?void 鐨勬儏鍐碉紝FuncD<void>(); 涔熸槸閫傜敤鐨勩?br>濡傛灉緙栬瘧鍣ㄤ笉鏀寔榪欑鐗規с傞偅涔堝綋鎴戜滑灝卞緱閽堝void榪斿洖綾誨瀷榪涜鐗瑰寲錛屾垨鑰呭嚱鏁伴噸杞斤紝紺轟緥浠g爜濡備笅錛?br>
//涓鑸鐞?/span>
template <typename T>
T FuncE()
{
    
return FuncC<T>();
}


//鐗瑰寲鐗堟湰
template<>
void FuncE<void>()
{
    FuncC
<void>();
}


//鎴栬呰繘琛岄噸杞戒害鍙?/span>
void FuncE()
{
   FuncC
<void>();
}



void Test()
{
    FuncE
<int>();    //娉涘寲鐗堟湰
    FuncE<void>();   //鐗瑰寲鐗堟湰
    FuncE();         //閲嶈澆鐗堟湰
}


FuncE鍑芥暟娌℃湁鍙傛暟錛屽彲浠ョ壒鍖栨垨鑰呴噸杞斤紝浣嗗鏋滃畠榪樻湁鍏朵粬妯℃澘鍙傛暟鐨勮瘽錛岀敱浜庡嚱鏁版ā鏉夸笉鏀寔閮ㄥ垎鐗瑰寲錛屽氨鍙兘浣跨敤閲嶈澆妯℃澘鍑芥暟浜嗐?br>


鍙戠幇榪欑鏂瑰紡鍚庯紝涓烘垜鐪佷簡寰堝浜嬶紝鍘熸潵涓轟簡璇嗗埆涓涓ā鏉垮弬鏁版槸鍚︿負void錛屾垜妯℃嫙stl 鎼炰簡涓?templeate <typename T> Return_Type_Trait {}錛岀劧鍚庡埄鐢ㄧ被妯℃澘鐨勭壒鍖栨潵涓撻棬瀹氫箟涓浜涚被鍨嬶紝浠ュ埌杈捐瘑鍒繑鍥炵被鍨嬬殑鐩殑銆傜幇鍦ㄧ湅鏉ワ紝閮芥槸澶氫綑鐨勩傚彲浠ヤ嬌鐢ㄨ繖涓壒鎬ф潵瀹炵幇銆?br>




鏉庨槼 2009-07-08 11:54 鍙戣〃璇勮
]]>
青青草原综合久久大伊人精品| 囯产极品美女高潮无套久久久 | 久久99精品国产99久久| 亚洲国产香蕉人人爽成AV片久久| 久久香蕉超碰97国产精品| 久久精品视频一| 精品久久久久一区二区三区 | 久久综合久久综合久久综合| 亚洲AV无码久久精品蜜桃| 狠狠色婷婷久久一区二区| 亚洲国产日韩综合久久精品| 青青青青久久精品国产h久久精品五福影院1421 | 丰满少妇人妻久久久久久| 久久精品亚洲精品国产色婷| 99国产精品久久久久久久成人热| 丁香狠狠色婷婷久久综合| 好久久免费视频高清| 国产精品VIDEOSSEX久久发布| 欧美日韩精品久久久免费观看| 伊人 久久 精品| 亚洲第一极品精品无码久久| 国产精品毛片久久久久久久| 88久久精品无码一区二区毛片| 久久久国产一区二区三区| 18禁黄久久久AAA片| 无码久久精品国产亚洲Av影片| 国产精品久久久久国产A级| 青青青国产成人久久111网站| 国产精品欧美久久久久无广告| 人妻丰满?V无码久久不卡| 狠狠色婷婷久久一区二区| 中文字幕亚洲综合久久2| 亚洲精品tv久久久久| 久久永久免费人妻精品下载| 久久综合九色综合久99| 久久午夜夜伦鲁鲁片免费无码影视 | 久久99精品久久久久久久久久| 欧美精品一本久久男人的天堂| 亚洲精品无码久久毛片| 久久99国产精品久久99| 漂亮人妻被中出中文字幕久久|