锘??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩一级欧洲,国产精品一区二区女厕厕,久久天天躁狠狠躁夜夜avhttp://www.shnenglu.com/bloodsuck/鐜╃帺zh-cnWed, 24 Sep 2025 07:18:21 GMTWed, 24 Sep 2025 07:18:21 GMT601涓煭灝忕殑瀹炰緥錛屾樉紺烘瀯寤哄拰涓簭閬嶅巻2鍙夋煡鎵炬爲(wèi)http://www.shnenglu.com/bloodsuck/archive/2009/05/13/82842.html榛勫ぇ浠?/dc:creator>榛勫ぇ浠?/author>Wed, 13 May 2009 09:21:00 GMThttp://www.shnenglu.com/bloodsuck/archive/2009/05/13/82842.htmlhttp://www.shnenglu.com/bloodsuck/comments/82842.htmlhttp://www.shnenglu.com/bloodsuck/archive/2009/05/13/82842.html#Feedback0http://www.shnenglu.com/bloodsuck/comments/commentRss/82842.htmlhttp://www.shnenglu.com/bloodsuck/services/trackbacks/82842.html 

 

  1#include "stdafx.h"
  2#include <iostream>
  3using namespace std;
  4
  5template <typename T>
  6class BinarySearchTree
  7{
  8 friend  ostream& operator<<(ostream& , BinarySearchTree<T>& );
  9public:
 10 BinarySearchTree();
 11 void insert(const T );
 12 void midvisit()
 13 {
 14
 15  midvisit(root);
 16 }

 17   
 18protected:
 19
 20private:
 21 class TNode
 22 {
 23  friend class BinarySearchTree;
 24 public:
 25  TNode(T a)
 26   :data(a),
 27   left(NULL),
 28   right(NULL)
 29  {
 30
 31  }

 32 protected:
 33 private:
 34  T data;
 35  TNode* left;
 36  TNode* right;
 37 }
;
 38 void insert(const T ,TNode*&);
 39 void midvisit(TNode* x)
 40 {
 41  if (x==NULL)
 42  {
 43   return;
 44  }

 45  midvisit(x->left);
 46  cout<<x->data;
 47  midvisit(x->right);
 48
 49 }

 50TNode* root;
 51
 52
 53}
;
 54template<typename T2>
 55ostream& operator<<(ostream& os, BinarySearchTree<T2>& a)
 56{
 57    
 58
 59}

 60template<typename T>
 61BinarySearchTree<T>::BinarySearchTree()
 62{
 63
 64root=NULL;
 65}

 66template<typename T>
 67void BinarySearchTree<T>::insert(const T a,TNode*& t)
 68{
 69    if (t==NULL)
 70    {
 71  t=new TNode(a);
 72  return;
 73    }

 74 if (a>t->data)
 75 {
 76  insert(a,t->right);
 77 }

 78 else
 79  insert(a,t->left);
 80
 81
 82}

 83template<typename T>
 84void BinarySearchTree<T>::insert(const T a)
 85{
 86 insert(a,root);
 87
 88 
 89
 90
 91}

 92int _tmain(int argc, _TCHAR* argv[])
 93{
 94 BinarySearchTree<int > a;
 95 for (int i=0;i<10;++i)
 96 {
 97  a.insert(i);
 98 }

 99 cout<<"insert data"<<endl;
100    a.midvisit();
101 return 0;
102}

103


]]>
鏁扮粍嫻呮瀽http://www.shnenglu.com/bloodsuck/archive/2008/06/06/52331.html榛勫ぇ浠?/dc:creator>榛勫ぇ浠?/author>Fri, 06 Jun 2008 02:37:00 GMThttp://www.shnenglu.com/bloodsuck/archive/2008/06/06/52331.htmlhttp://www.shnenglu.com/bloodsuck/comments/52331.htmlhttp://www.shnenglu.com/bloodsuck/archive/2008/06/06/52331.html#Feedback0http://www.shnenglu.com/bloodsuck/comments/commentRss/52331.htmlhttp://www.shnenglu.com/bloodsuck/services/trackbacks/52331.htmlint b[20][10]

 綾誨瀷錛?br>a:   int [10]
b:   int [20][10]
a, b 閮芥槸鍙沖?br> 綺劇‘瑁呮崲綰у埆綾誨瀷錛?br> a--->int *
b ---->int (*)[10]
  鍦板潃綾誨瀷
&a : int (*)[10]
&b:int (*)[20][10] 
  

闂錛氬浣曞湪鍫嗕腑鍔ㄦ佸垎閰嶅緇存暟緇?br>鎬濊礬錛氶檷緇村垎閰?br>int ** p;
int a=30;
int b=50;
p=new int * [30];//2緇村垎閰?br>*(p+1)=new int [50];
*(p+2)=new int [50];
涓緇存槸榪炵畫(huà)鍦板潃
2緇存槸闈炶繛緇殑

鍙︾鎬濊礬錛氱粨鏋勬寚閽?br>struct color
{
  int * a;
}
color * b;
b=new color[50];
b[1].a=new int [60];

]]>
1縐掗挓鐨勫懡榪?/title><link>http://www.shnenglu.com/bloodsuck/archive/2007/07/18/28261.html</link><dc:creator>榛勫ぇ浠?/dc:creator><author>榛勫ぇ浠?/author><pubDate>Wed, 18 Jul 2007 02:42:00 GMT</pubDate><guid>http://www.shnenglu.com/bloodsuck/archive/2007/07/18/28261.html</guid><wfw:comment>http://www.shnenglu.com/bloodsuck/comments/28261.html</wfw:comment><comments>http://www.shnenglu.com/bloodsuck/archive/2007/07/18/28261.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/bloodsuck/comments/commentRss/28261.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/bloodsuck/services/trackbacks/28261.html</trackback:ping><description><![CDATA[<p>                        鍦ㄨ繖縐嶅叧閿殑鏃跺埢錛岄偅浜涘鉤鏃舵參鎱㈡?zhèn)犳?zhèn)犻『搴忓彂鐢熷拰騫跺垪鍙戠敓鐨勪簨錛岄兘鍘嬬緝鍦ㄨ繖鏍蜂竴涓喅瀹氫竴鍒囩殑鐭殏鏃跺埢琛ㄧ幇鍑烘潵銆傝繖涓鏃跺埢瀵逛笘涓栦唬浠d綔鍑轟笉鍙敼鍙樼殑鍐沖畾錛屽畠鍐沖畾鐫涓涓漢鐨勭敓姝匯佷竴涓皯鏃忕殑瀛樹(shù)骸鐢氳嚦鏁翠釜浜虹被鐨勫懡榪愩?<br>鍛借繍鎬繪槸榪庣潃寮烘湁鍔涚殑浜虹墿鍜屼笉鍙竴涓栬呰蛋鍘匯傚灝戝勾鏉ワ紝鍛借繍鎬繪槸浣胯嚜宸卞眻浠庝簬榪欐牱鐨勪釜浜猴細(xì)鍑拻銆佷簹鍘嗗北澶с佹嬁鐮翠粦錛屽洜涓哄懡榪愬枩嬈㈣繖浜涘儚鑷繁閭f牱涓嶅彲鎹夋懜鐨勫己鏉冧漢鐗┿?/p> <p>浣嗘槸鏈夋椂鍊欙紝褰撶劧錛岃繖鍦ㄤ換浣曟椂浠i兘鏄瀬涓虹綍瑙佺殑錛屽懡榪愪篃浼?xì)鍑轰簬涓縐嶅鎬殑蹇?jī)鎯呭Q屾妸鑷繁鎶涘埌涓涓鉤搴鎬箣杈堢殑鎵嬩腑銆傛湁鏃跺欌斺旇繖鏄笘鐣屽巻鍙蹭笂鏈浠や漢鎯婂鐨勬椂鍒燴斺斿懡榪愪箣綰垮湪鐬伅鏃墮棿鍐呮槸鎺屾彙鍦ㄤ竴涓獫鍥婂簾鎵嬩腑銆傝嫳闆勪滑鐨勪笘鐣屾父鎴忓儚涓闃甸鏆翠技鐨勪篃鎶婇偅浜涘鉤搴鎬箣杈堝嵎浜?jiǎn)杩涙潵銆備絾鏄綋閲嶄換紿佺劧闄嶄復(fù)鍒頒粬浠韓涓婃椂錛屼笌鍏惰浠栦滑鎰熷埌搴?jiǎn)骞稿Q屾瘚瀹佽浠栦滑鏇存劅鍒伴獓鎬曘備粬浠嚑涔庨兘鏄妸鎶涜繃鏉ョ殑鍛借繍鍙堝搯鍝嗗棪鍡﹀湴浠庤嚜宸辨墜閲屽け钀姐備竴涓鉤搴鎬箣杈堣兘鎶撲綇鏈虹紭?shù)娇鑷繁邈^姝ラ潚浜戯紝榪欐槸寰堥毦寰楃殑銆傚洜涓轟紵澶х殑浜嬩笟闄嶄復(fù)鍒版負(fù)灝忎漢鐗╃殑韜笂錛屼粎浠呮槸鐭殏鐨勭灛闂淬傝皝閿欒繃浜?jiǎn)杩欎竴鐬棿錛屽畠緇濅笉浼?xì)鍐嶆仼璧惤W簩閬嶃?/p> <p>鏍奸瞾甯?/p> <p>緇翠篃綰充細(xì)璁鍦ㄤ婦琛屻傚湪鐜╁紕鏉冩湳鍜屼簰鐩鎬簤鍚典箣涓紝鍍忎竴鏋氬棖鍡栫殑鐐脊椋炴潵榪欐牱鐨勬秷鎭細(xì)鎷跨牬浠戣繖澶磋鍥扮殑闆勭嫯鑷繁浠庡巹灝?dāng)宸村矝鐨勭墷绗间腑闂嚭鏉ヤ簡(jiǎn)锛涙嬁鐮翠粦璧惰殿C簡(jiǎn)鍥界帇錛涘啗闃熷張閮界媯鐑湴涓劇潃鏃楀笢鎶曞鍒頒粬閭d竴杈?#8230;…濂藉儚琚竴鍙埄鐖敨浣忥紝閭d簺鍒氬垰榪樺湪浜掔浉鎶辨ㄧ殑澶ц嚕浠張閮借仛闆嗗湪涓璧鳳紝浠栦滑鍐嶆鑱斿悎璧鋒潵錛屽交搴曞嚮璐ヨ繖涓鏉冭呫傚▉鐏甸】寮濮嬩粠鍖楄竟鍚戞硶鍥借繘鍐涳紝涓鏀敱甯冨悤姝囧皵甯冪粺鐜囩殑鏅瞾澹啗錛屼綔涓轟粬鐨勫鎻撮儴闃熶粠鍙︿竴鏂瑰悜鍓嶈繘銆傛柦鐡﹀皵宀戣礉鏍煎湪鑾辮尩娌崇晹鏁磋寰呭彂錛涜屼綔涓哄悗澶囧啗鐨勪縿鍥藉啗鍥紝姝e甫鐫鍏ㄩ儴杈庨噸錛岀紦鎱㈠湴絀胯繃寰峰浗銆?/p> <p>鎷跨牬浠戠湅娓呬簡(jiǎn)榪欑鑷村懡鐨勫嵄闄┿備粬蹇呴』鍦ㄦ櫘椴佸+浜恒佽嫳鍥戒漢銆佸ゥ鍦板埄浜鴻仈鍚堟垚涓轟竴鏀媧茬洘鍐涘墠灝卞皢浠栦滑鍒嗚屾敾涔嬶紝鍚勪釜鍑葷牬銆備簬鏄粬鍖嗗繖鎶婅祵娉ㄦ娂鍦ㄦ媧叉祦琛鏈澶氱殑鎴樺満鈥斺旀瘮鍒╂椂銆傦紙1815騫達(dá)級(jí)6鏈?6鏃ユ嬁鐮翠粦澶у啗鐨勫厛澶撮儴闃熷湪鏋楀凹涓庢櫘椴佸+鍐涢伃閬囷紝騫跺皢鏅啗鍑昏觸銆傝繖鏄繖澶撮泟鐙殑絎竴嬈$寷鍑伙紝榪欎竴鍑婚潪甯稿帀瀹籌紝鐒惰屽嵈涓嶈嚧鍛姐傝鍑昏觸鑰屽茍鏈娑堢伃鐨勬櫘鍐涘悜甯冮瞾濉炲皵鎾ら銆?/p> <p>鎷跨牬浠戝噯澶囧悜濞佺伒欏跨殑閮ㄩ槦榪涙敾銆備粬涓嶅厑璁歌嚜宸卞枠鎭紝涔熶笉鍏佽瀵規(guī)柟鍠樻伅錛屽洜涓烘瘡鎷栧歡涓澶╋紝灝辨剰鍛崇潃緇欏鏂瑰娣誨姏閲忋?7鏃ワ紝鎷跨牬浠戠巼棰嗗叏鍐涘埌杈懼洓鑷傛潙楂樺湴鍓嶏紝濞佺伒欏胯繖涓鎵嬪凡鍦ㄩ珮鍦頒笂絳戝ソ宸ヤ簨錛屼弗闃典互寰呫傛嬁鐮翠粦鍏呭垎浼拌鍒拌嚜宸遍潰涓寸殑鍚勭鍗遍櫓錛屽嵆甯冨悤姝囧皵鐨勫啗闃熶粎浠呮槸琚嚮璐ワ紝鑰屽茍鏈娑堢伃銆傝繖鏀啗闃熼殢鏃跺彲鑳戒笌濞佺伒欏跨殑鍐涢槦浼?xì)鍚堛備負(fù)浜?jiǎn)闃叉杩櫩U嶅彲鑳芥э紝浠栨娊璋冨嚭涓閮ㄥ垎閮ㄩ槦鍘昏窡韙拷鍑?yán)L櫘椴佸+鍐涳紝浠ラ樆姝粬浠笌鑻卞啗浼?xì)鍚堛?/p> <p>浠栨妸榪欐敮榪藉嚮閮ㄩ槦浜ょ粰浜?jiǎn)鏍奸瞾甯屽厓甯呮寚鎸ャ傛牸椴佸笇錛屼竴涓皵搴︿腑搴哥殑鐢峰瓙錛岃佸疄鍙潬錛屽參鍏笟涓氥備粬鏃㈡病鏈夌吉鎷夐偅鏍風(fēng)殑鑳嗚瘑欖勫姏錛屼篃娌℃湁鍦hタ灝?dāng)閭f狅L(fēng)殑瓚蟲(chóng)櫤澶氳皨錛屾洿緙轟箯鍐呬紛閭f牱鐨勮嫳闆勬皵姒傘傚叧浜庝粬錛屾病鏈夌璇濊埇鐨勪紶璇達(dá)紝涔熸病鏈夎皝鎶婁粬鎻忕粯鎴愬▉椋庡嚊鍑涚殑鍕囧+銆備粬浠庢垘20騫達(dá)紝浠栨槸緙撴參鍦般佷竴綰т竴綰у湴鍗囧埌鍏冨竻鐨勫啗琛斻傛嬁鐮翠粦澶ф涔熺煡閬擄紝鏍奸瞾甯屾棦涓嶆槸姘斿悶灞辨渤鐨勮嫳闆勶紝涔熶笉鏄繍絳瑰阜騫勭殑璋嬪+銆備絾鏄粬鑷繁鐨勫厓甯咃紝涓鍗婂凡鍦ㄩ粍娉変箣涓嬶紝鑰屽叾浣欏嚑浣嶅凡瀵硅繖縐嶆病瀹屾病浜?jiǎn)鐨勯椁愰湶瀹跨殑鎴庨┈鐢煁z誨崄鍒嗗帉鍊︼紝姝f忔忎笉涔愬湴鍛嗗湪鑷繁鐨勫簞鍥噷鍛€傛墍浠ワ紝鎷跨牬浠戞槸鍑轟簬鏃犲鎵嶅榪欎釜涓焊鐨勭敺瀛愬浠ラ噸浠葷殑銆?/p> <p>17鏃ヤ笂鍗?1鏃訛紝鎷跨牬浠戠涓嬈℃妸鐙珛鎸囨尌鏉冧氦緇欐牸椴佸笇鍏冨竻銆傚氨鍦ㄨ繖涓澶╋紝鍦ㄨ繖鐭殏鐨勭灛闂達(dá)紝鍞敮璇鴻鐨勬牸椴佸笇璺沖嚭涓鍛蟲(chóng)湇浠庣殑鍐涗漢涔?fàn)姘斿Q岃嚜宸辮蛋榪涗笘鐣屽巻鍙茬殑琛屽垪銆傛嬁鐮翠粦鐨勫懡浠ゆ槸娓呮鐨勶細(xì)褰撲粬鑷繁鍚戣嫳鍐涜繘鏀繪椂錛屾牸椴佸笇鍔″繀鐜囬浜ょ粰浠栫殑涓夊垎涔嬩竴鍏靛姏鍘昏拷鍑?yán)L櫘椴佸+鍐涳紝鑰屼笖浠栧繀欏誨緇堝拰涓誨姏閮ㄩ槦淇濇寔鑱旂郴銆?/p> <p>鏍奸瞾甯屽厓甯呰笇韜囧湴鎺ュ彈浜?jiǎn)杩櫃骞鍛戒护銆備粬涓嶄範(fàn)鎯嫭绔嬭浜嬨傚彧鏄綋浠栫湅鍒扮殗甯濈殑澶╂墠鐩厜錛屾墠鎰熷埌蹇?jī)閲岉t忓疄錛屽簲鎵夸笅鏉ャ傛牸椴佸笇鐨勯儴闃熷湪鐡㈡臣澶ч洦涓嚭鍙戙?/p> <p>鍐沖畾涓栫晫鍘嗗彶鐨勪竴鐬棿</p> <p>18鏃ヤ笂鍗?1鐐癸紝鐐墜浠帴鍒板懡浠わ細(xì)鐢ㄦΥ寮圭偖杞板嚮灞卞ご涓婄殑韜┛綰㈣。鐨勮嫳鍥藉+鍏點(diǎn)傛帴鐫錛屽唴浼娾斺旇繖浣?#8220;闆勪腑涔嬫澃”錛岀巼棰嗘鍏靛彂璧峰啿閿嬨備粠涓婂崍11鐐硅嚦涓嬪崍1鐐癸紝娉曞啗甯堝洟鍚戦珮鍦拌繘鏀伙紝涓搴﹀崰棰嗕簡(jiǎn)鏉戝簞鍜岄樀鍦幫紝浣嗗張琚嚮閫涓嬫潵錛岀戶鑰屽張鍙戣搗榪涙敾銆傚湪絀烘椃銆佹償娉炵殑灞卞潯涓婂凡瑕嗙洊鐫1涓囧叿灝鎬綋銆傚彲鏄櫎浜?jiǎn)澶ч噺娑堣椾互澶栵紝浠涔堜篃娌℃湁杈懼埌銆傚弻鏂圭殑鍐涢槦閮藉凡鐤叉儷涓嶅牚錛屽弻鏂圭殑緇熷竻閮界劍铏戜笉瀹夈傚弻鏂歸兘鐭ラ亾錛岃皝鍏堝緱鍒板鎻達(dá)紝璋佸氨鏄儨鍒╄呫傚▉鐏甸】絳夊緟鐫甯冨悤姝囧皵錛涙嬁鐮翠粦鐩兼湜鐫鏍奸瞾甯屻?/p> <p>浣嗘槸錛屾牸椴佸笇騫舵湭鎰忚瘑鍒版嬁鐮翠粦鐨勫懡榪愭帉鎻″湪浠栬嚜宸辨墜涓紝浠栧彧鏄伒鐓у懡浠や簬17鏃ユ櫄闂村嚭鍙戯紝鎸夐璁℃柟鍚戝幓榪藉嚮鏅瞾澹啗銆傚洜涓烘晫浜哄緇堟病鏈夊嚭鐜幫紝琚嚮婧冪殑鏅啗鎾ら鐨勮釜榪逛篃濮嬬粓娌℃湁鎵懼埌銆?/p> <p>姝e綋鏍奸瞾甯屽厓甯呭湪涓鎴峰啘姘戝閲屾ユュ繖蹇欒繘鏃╅鏃訛紝浠栬剼搴曚笅鐨勫湴闈㈢獊鐒跺井寰渿鍔ㄨ搗鏉ャ傛墍鏈夌殑浜洪兘鎮(zhèn)夊績(jī)緇嗗惉銆備粠榪滃涓鍐嶄紶鏉ユ矇闂風(fēng)殑銆佹笎娓愭秷澶辯殑澹伴煶錛氳繖鏄ぇ鐐殑澹伴煶錛屾槸榪滃鐐叺姝e湪寮鐐殑澹伴煶錛屼笉榪囧茍涓嶅お榪滐紝鑷沖鍙湁涓夊皬鏃剁殑璺▼銆傝繖鏄湥璁╁北涓婄殑鐐伀澹幫紝鏄粦閾佸崲鎴樺焦寮濮嬬殑澹伴煶銆傚壇鍙鎬護(hù)鐑媺灝?dāng)鎬ュ垏鍦拌姹傦細(xì)“绔嬪嵆鍚戝紑鐐殑鏂瑰悜鍓嶈繘錛?#8221;鎵鏈夌殑浜洪兘姣笉鎬鐤戯細(xì)鐨囧笣宸茬粡鍚戣嫳鍐涘彂璧鋒敾鍑諱簡(jiǎn)錛屼竴嬈¢噸澶х殑鎴樺焦宸茬粡寮濮嬨傚彲鏄牸椴佸笇鍗存嬁涓嶅畾涓繪剰銆備粬涔?fàn)鎯簬鍞懡鏄粠锛屼粬鑳啚畯鎬曚簨鍦版鎶辯潃鍐欏湪綰鎬笂鐨勬潯鏂団斺旂殗甯濈殑鍛戒護(hù)錛氳拷鍑?yán)L挙閫鐨勬櫘鍐涖傜儹鎷夊皵鐪嬪埌浠栧姝ょ姽璞笉鍐籌紝渚挎伋鍒囧湴璇鋒眰錛氳嚦灝戣兘璁╀粬鐜囬鑷繁鐨勪竴甯堥儴闃熷拰鑻ュ共楠戝叺鍒伴偅鎴樺満涓婂幓銆傛牸椴佸笇鑰冭檻浜?jiǎn)涓涓嬨備粬鍙冭檻浜?jiǎn)涓縐掗挓銆?/p> <p>鐒惰屾牸椴佸笇鑰冭檻鐨勮繖涓縐掗挓鍗村喅瀹氫簡(jiǎn)浠栬嚜宸辯殑鍛借繍銆佹嬁鐮翠粦鐨勫懡榪愬拰涓栫晫鐨勫懡榪愩傛牸椴佸笇浣垮姴鍦版憞浜?jiǎn)鎽囨墜璇村Q屾妸榪欐牱涓鏀皬閮ㄩ槦鍐嶅垎鏁e叺鍔涙槸涓嶈礋璐d換鐨勶紝浠栫殑浠誨姟鏄拷鍑?yán)L櫘鍐涳紝鑰屼笉鏄叾浠栥傚氨榪欐牱錛屼粬鎷掔粷浜?jiǎn)杩欎竴榪濊儗鐨囧笣鍛戒護(hù)鐨勮鍔ㄣ傝屽喅瀹氭х殑涓縐掗挓灝卞湪榪欎竴鐗囬潤(rùn)榛樹(shù)箣涓秷閫濅簡(jiǎn)錛屽畠涓鍘諱笉澶嶈繑錛屼互鍚庯紝鏃犺鐢ㄦ庢牱鐨勮█璇嶅拰琛屽姩閮芥棤娉曞譏琛ヨ繖涓縐掗挓鈥斺斿▉鐏甸】鑳滃埄浜?jiǎn)銆?/p> <p>鏍奸瞾甯岀殑閮ㄩ槦緇х畫(huà)寰鍓嶈蛋銆傞殢鐫涓灝忔椂涓灝忔椂鐨勮繃鍘伙紝鏍奸瞾甯岃秺鏉ヨ秺娌℃湁鎶婃彙錛屽洜涓轟護(hù)浜哄鎬殑鏄紝鏅啗濮嬬粓娌℃湁鍑虹幇銆傛樉鐒?dòng)灱屼粬浠浾d紑浜?jiǎn)閫寰甯冮瞾濉炲皵鍘葷殑鏂瑰悜銆傛帴鐫錛屾儏鎶ヤ漢鍛樻姤鍛婁簡(jiǎn)縐嶇鍙枒鐨勮抗璞★紝璇存槑鏅啗鍦ㄦ挙閫榪囩▼涓凡鍒嗗嚑璺漿縐誨埌浜?jiǎn)姝e湪婵鎴樼殑鎴樺満銆傚鏋滆繖鏃跺欐牸椴佸笇璧剁揣鐜囬闃熶紞鍘誨鎻寸殗甯濓紝榪樻槸鏉ュ緱鍙?qiáng)鐨勩備絾浠栧彧鏄鐫鎰堟潵鎰堜笉瀹夌殑蹇?jī)鎯呭Q岀戶緇瓑寰呯潃娑堟伅錛岀瓑寰呯潃鐨囧笣瑕佷粬榪斿洖鐨勫懡浠ゃ傚彲鏄病鏈夋秷鎭潵銆傚彧鏈変綆娌夌殑闅嗛殕鐐0闇囬ⅳ鐫澶у湴錛岀偖澹板嵈鎰堟潵鎰堣繙銆傚娉ㄤ竴鎺風(fēng)殑婊戦搧鍗㈡悘鏂楁鍦ㄨ繘琛岋紝鐐脊渚挎槸鎶曚笅鏉ョ殑閾侀瀛愩?/p> <p>婊戦搧鍗㈢殑涓嬪崍</p> <p>鏃墮棿宸茬粡鍒頒簡(jiǎn)涓嬪崍涓鐐歸挓銆傛嬁鐮翠粦鐨勫洓嬈¤繘鏀昏櫧鐒惰鍑婚涓嬫潵錛屼絾濞佺伒欏夸富闃靛湴鐨勯槻綰挎樉鐒朵篃鍑虹幇浜?jiǎn)绌洪殭銆傛嬁鐮翠粦姝e噯澶囧彂璧蜂竴嬈″喅瀹氭х殑鏀誨嚮銆傝繖鏃訛紝浠栧彂鐜頒笢鍖楁柟鍚戞湁涓鑲¢粦鐨勪漢緹よ繋闈㈠鏉ャ備竴鏀柊鐨勯儴闃燂紒</p> <p>鎵鏈夌殑鏈涜繙闀滈兘绔嬪埢瀵瑰噯鐫榪欎釜鏂瑰悜銆傞毦閬撴槸鏍奸瞾甯屽ぇ鑳嗗湴榪濊儗鍛戒護(hù)錛屽榪硅埇鍦板強(qiáng)鏃惰刀鍒頒簡(jiǎn)錛熷彲鏄笉錛佷竴涓甫涓婃潵鐨勪繕铏忔姤鍛婅錛岃繖鏄竷鍚曟瓏灝?dāng)灏嗗啗鐨勫墠鍗儴闃熷Q屾槸鏅瞾澹啗闃熴傛鍒伙紝鐨囧笣絎竴嬈¢鎰熷埌錛岄偅鏀鍑?yán)L簝鐨勬櫘鍐涗負(fù)浜?jiǎn)鎶㈠厛涓庤嫳鍐涗細(xì)鍚堝Q屽凡鎽嗚劚浜?jiǎn)杩藉嚮锛涜屼粬鈥斺旀嬁鐮翠粦鑷繁鍗寸敤浜?jiǎn)涓夊垎涔嬩竴鐨勫叺鍔涘湪絀哄湴涓婁綔姣棤鐢ㄥ銆佸け鍘葷洰鏍囩殑榪愬姩銆備粬绔嬪嵆緇欐牸椴佸笇鍐欎簡(jiǎn)涓灝佷俊錛屽懡浠や粬涓嶆儨涓鍒囦唬浠瘋刀绱т笌鑷繁闈犳嫝錛屽茍闃繪鏅啗鍚戝▉鐏甸】鐨勬垬鍦洪泦緇撱?/p> <p>涓庢鍚屾椂錛屽唴浼婂厓甯呭張鎺ュ埌浜?jiǎn)杩涙斎潥勫懡渥o(hù)銆傚繀欏誨湪鏅啗鍒拌揪浠ュ墠姝肩伃濞佺伒欏塊儴闃熴傛暣涓笅鍗堬紝鍚戝▉鐏甸】鐨勯珮鍦板彂璧蜂簡(jiǎn)涓嬈″張涓嬈$殑鍐查攱銆傛垬鏂椾竴嬈℃瘮涓嬈℃畫(huà)閰鳳紝鎶曞叆鐨勬鍏典竴嬈℃瘮涓嬈″銆備絾鏄▉鐏甸】渚濇棫宀跨劧涓嶅姩銆傝屾牸椴佸笇閭h竟鍗村緇堟病鏈夋秷鎭潵銆傚唴浼婂厓甯呭凡鍐沖畾鎶婂叏閮ㄩ槦浼嶉兘鎷変笂鍘伙紝鍐充竴姝繪垬銆備簬鏄紝1涓囧悕孌婃涓鎴樼殑鐩旂敳楠戝叺鍜屾楠戝叺韙╃儌浜?jiǎn)鑻卞啗鐨勬枤w樀錛岀爫姝諱簡(jiǎn)鑻卞啗鐨勭偖鎵嬶紝鍐茬牬浜?jiǎn)鑻卞啗鐨勬渶鍒濆嚑閬撻槻綰褲傝櫧鐒朵粬浠嚜宸卞啀嬈¤榪挙閫錛屼絾鑻卞啗鐨勬垬鏂楀姏宸叉繏浜庢畣灝姐傚北澶翠笂鍍忕畭妗朵技鐨勪弗瀵嗛槻綰垮紑濮嬫澗鏁d簡(jiǎn)銆傚綋鍙楀埌閲嶅ぇ浼や骸鐨勬硶鍐涢獞鍏佃鐐伀鍑婚涓嬫潵鏃訛紝鎷跨牬浠戠殑鏈鍚庨澶囬槦鈥斺旇佽繎鍗啗姝f灞ヨ壈闅懼湴鍚戝北澶磋繘鏀匯傛媧茬殑鍛借繍鍏ㄧ郴鍦ㄨ兘鍚︽敾鍗犺繖涓灞卞ご涓娿?/p> <p>鍐蟲(chóng)垬</p> <p>鑷笂鍗堜互鏉ワ紝鍙屾柟鐨?00闂ㄥぇ鐐笉鍋滃湴杞板嚮鐫銆傚墠綰垮搷褰婚獞鍏甸槦鍚戝紑鐏殑鏂歸樀鍐叉潃鐨勯搧?lái)y勫0銆備粠鍥涢潰鍏柟浼犳潵鐨勫啲鍐垬榧撳0錛岄渿鑰蟲(chóng)鑱嬶紝鏁翠釜騫沖師閮藉湪棰ゅ姩錛佷絾鏄湪鍙屾柟鐨勫北澶翠笂錛屽弻鏂圭殑緇熷竻浼間箮閮藉惉涓嶈榪欏槇鏉傜殑浜哄0銆備粬浠彧鏄懼惉鐫鏇翠負(fù)寰急鐨勫0闊熾?/p> <p>涓ゅ彧琛ㄥ湪鍙屾柟鐨勭粺甯呮墜涓紝鍍忓皬楦熺殑蹇?jī)鑴忎技鐨勫湪鍢鍡掑榾鍡掑湴鍝嶃傝繖杞昏交鐨勯挓琛ㄥ0瓚呰繃鎵鏈夐渿澶╃殑鍚煎彨澹般傛嬁鐮翠粦鍜屽▉鐏甸】鍚勮嚜鎷跨潃鑷繁鐨勮鏃跺櫒錛屾暟鐫姣忎竴灝忔椂錛屾瘡涓鍒嗛挓錛岃綆楃潃榪樻湁澶氬皯鏃墮棿錛屾渶鍚庣殑鍐沖畾鎬х殑澧炴彺閮ㄩ槦灝辮鍒拌揪浜?jiǎn)銆傚▉鐏甸】鐭ラ亾甯冨悤姝囧皵灝卞湪闄勮繎銆傝屾嬁鐮翠粦鍒欏笇鏈涙牸椴佸笇涔熷湪闄勮繎銆傜幇鍦ㄥ弻鏂歸兘宸叉病鏈夊悗澶囬儴闃熶簡(jiǎn)銆傝皝鐨勫鎻撮儴闃熷厛鍒幫紝璋佸氨璧㈠緱榪欐鎴樺焦鐨勮儨鍒┿?/p> <p>鏅啗鐨勪晶緲肩粓浜庡搷璧蜂簡(jiǎn)鏋嚮澹般傛嬁鐮翠粦娣辨繁鍦板惛浜?jiǎn)涓鍙f皵錛?#8220;鏍奸瞾甯岀粓浜庢潵浜?jiǎn)锛?#8221;浠栦互涓鴻嚜宸辯殑渚х考鐜板湪宸叉湁浜?jiǎn)淇濇姢锛屼簬鏄泦涓簡(jiǎn)鏈鍚庡墿涓嬬殑鍏ㄩ儴鍏靛姏錛屽悜濞佺伒欏跨殑涓婚樀鍦板啀嬈″彂璧鋒敾鍑匯傝繖涓婚樀鍦板氨鏄竷椴佸灝?dāng)鐨勯棬闂╁Q屽繀欏誨皢瀹冩懅姣侊紝榪欎富闃靛湴灝辨槸嬈ф床鐨勫ぇ闂紝蹇呴』灝嗗畠鍐茬牬銆?/p> <p>鐒惰屽垰鎵嶉偅涓闃墊灙澹頒粎浠呮槸涓鍦鴻浼?xì)銆傜敱浜庢眽璇哄▉鍏靛洟絀跨潃鍒牱鐨勫啗瑁咃紝鍓嶆潵鐨勬櫘鍐涘悜姹夎濞佸+鍏靛紑浜?jiǎn)鏋備絾榪欏満璇細(xì)鐨勯伃閬囨垬寰堝揩灝卞仠姝簡(jiǎn)銆傜幇鍦紝鏅啗鐨勫ぇ鎵逛漢椹鏃犻樆鎸″湴銆佹旦嫻╄崱鑽″湴浠庢爲(wèi)鏋楅噷絀垮嚭鏉ャ傚巹榪愬氨姝ら檷涓翠簡(jiǎn)銆傝繖涓娑堟伅椋炲揩鍦板湪鎷跨牬浠戠殑閮ㄩ槦涓紶寮銆傞儴闃熷紑濮嬮鍗淬傛墍鏈夊墿涓嬬殑鑻卞啗涓涓嬪瓙鍏ㄩ兘璺冭韓鑰岃搗錛屽悜鐫婧冮鐨勬晫浜哄啿鍘匯備笌姝ゅ悓鏃訛紝鏅瞾澹獞鍏典篃浠庝晶闈㈠悜浠撶殗閫冪獪銆佺柌浜庡鍛界殑娉曞啗鍐叉潃榪囧幓銆?/p> <p>浠呬粎鍑犲垎閽熺殑宸ュか錛岃繖鏀但璧啗濞佺殑閮ㄩ槦鍙樻垚浜?jiǎn)涓鑲¤浜洪┍璧剁殑鎶卞ご榧犵獪銆佹儕鎱屽け鎺殑浜烘祦銆傚湪涓鐗囨儕鎭愮殑娣蜂貢鍙枈澹頒腑錛屼粬浠交鑰屾槗涓懼湴鎹曡幏浜?jiǎn)鎷跨牬浠戠殑灞M鐢ㄩ┈杞﹀拰鍏ㄥ啗鐨勮吹閲嶈儲(chǔ)鐗╋紝淇樿檹浜?jiǎn)鍏ㄩ儴鐐咟c(diǎn)傚彧鏄敱浜庨粦澶滅殑闄嶄復(fù)錛屾墠鎷晳浜?jiǎn)鎷跨牬浠戠殑鎬у懡鍜岃嚜鐢便備竴鐩村埌鍗婂錛屾弧韜薄鍨€佸ご鏄忕洰鐪╃殑鎷跨牬浠戞墠鍦ㄤ竴瀹朵綆鐭殑涔℃潙瀹㈠簵閲岋紝鐤插﹀湴韜哄潗鍦ㄦ壎鎵嬭蔣妞呬笂錛岃繖鏃訛紝浠栧凡涓嶅啀鏄釜鐨囧笣浜?jiǎn)銆備粬鐨勫笣鍥姐佷粬鐨勭殗鏈濄佷粬鐨勫懡榪愬叏瀹屼簡(jiǎn)銆備竴涓井涓嶈凍閬撶殑灝忎漢鐗╃殑鎬嚘姣佸潖浜?jiǎn)浠枠q欎釜鏈鏈夎儐璇嗐佹渶鏈夎繙瑙佺殑浜虹墿鍦?0騫撮噷鎵寤虹珛璧鋒潵鐨勫叏閮ㄨ嫳闆勪笟緇┿?/p> <p>閭e叧閿殑涓縐掗挓灝辨槸榪欐牱榪涜浜?jiǎn)鍙曠殑鎶ュ銆傚湪灝樹(shù)笘鐢熸椿涓紝榪欐牱鐨勪竴鐬棿鏄緢灝戦檷涓寸殑銆傚綋瀹冩棤鎰忎箣涓檷涓村埌涓涓漢韜笂鏃訛紝浠栧嵈涓嶇煡濡備綍鍒╃敤瀹冦傚湪鍛借繍闄嶄復(fù)鐨勪紵澶х灛闂達(dá)紝甯?jìng)姘戠殑涓鍒囩編寰封斺斿皬蹇?jī)銆侀『浠庛佸嫟鍕夈佽皚鎱庯紝閮芥棤嫻庝簬浜嬶紝瀹冨緇堝彧瑕佹眰澶╂墠浜虹墿錛屽茍涓斿皢浠栭犲氨鎴愪笉鏈界殑褰㈣薄銆傚懡榪愰剻瑙嗗湴鎶婄晱棣栫晱灝劇殑浜烘嫆涔嬮棬澶栥傚懡榪愨斺旇繖涓栦笂鐨勫彟涓浣嶇錛屽彧鎰挎剰鐢ㄧ儹鐑堢殑鍙岃噦鎶婂媷鏁㈣呴珮楂樹(shù)婦璧鳳紝閫佷笂鑻遍泟浠殑澶╁爞銆?/p> <img src ="http://www.shnenglu.com/bloodsuck/aggbug/28261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/bloodsuck/" target="_blank">榛勫ぇ浠?/a> 2007-07-18 10:42 <a href="http://www.shnenglu.com/bloodsuck/archive/2007/07/18/28261.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>1涓艦寮忔紓鐨勫嚱鏁?/title><link>http://www.shnenglu.com/bloodsuck/archive/2007/06/12/26156.html</link><dc:creator>榛勫ぇ浠?/dc:creator><author>榛勫ぇ浠?/author><pubDate>Tue, 12 Jun 2007 08:09:00 GMT</pubDate><guid>http://www.shnenglu.com/bloodsuck/archive/2007/06/12/26156.html</guid><wfw:comment>http://www.shnenglu.com/bloodsuck/comments/26156.html</wfw:comment><comments>http://www.shnenglu.com/bloodsuck/archive/2007/06/12/26156.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.shnenglu.com/bloodsuck/comments/commentRss/26156.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/bloodsuck/services/trackbacks/26156.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">1</span><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">  backarry(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> arrayname )[</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">]) )  [</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">]<br></span><span style="COLOR: #008080">2</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>{<br></span><span style="COLOR: #008080">3</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>    return arrayname;<br></span><span style="COLOR: #008080">4</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">5</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>};</span></div>       鍛靛懙錛屾槸鏈夌偣鍙ゆ?<br><br>  鍐嶆潵涓?br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080"> 1</span><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">  backarry(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> arrayname )[</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">]) )  [</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">]<br></span><span style="COLOR: #008080"> 2</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>{<br></span><span style="COLOR: #008080"> 3</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>      <br></span><span style="COLOR: #008080"> 4</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>    return arrayname;<br></span><span style="COLOR: #008080"> 5</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080"> 6</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>};<br></span><span style="COLOR: #008080"> 7</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">  backarry(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000"> arrayname)[</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">]))[</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">]<br></span><span style="COLOR: #008080"> 8</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>{<br></span><span style="COLOR: #008080"> 9</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">i)<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>    {<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>        cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">i;<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>    }<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>    return arrayname;<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>};<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>{<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">array</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">{</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">};<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>backarry(</span><span style="COLOR: #0000ff">array</span><span style="COLOR: #000000">);</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">浼?xì)璋冪敤鍝釜鍛㈠Q燂紵<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>}</span></div> <img src ="http://www.shnenglu.com/bloodsuck/aggbug/26156.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/bloodsuck/" target="_blank">榛勫ぇ浠?/a> 2007-06-12 16:09 <a href="http://www.shnenglu.com/bloodsuck/archive/2007/06/12/26156.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>涓涓?Decorator 妯″紡 渚嬪瓙錛堝師錛?/title><link>http://www.shnenglu.com/bloodsuck/archive/2007/03/22/20338.html</link><dc:creator>榛勫ぇ浠?/dc:creator><author>榛勫ぇ浠?/author><pubDate>Thu, 22 Mar 2007 01:56:00 GMT</pubDate><guid>http://www.shnenglu.com/bloodsuck/archive/2007/03/22/20338.html</guid><wfw:comment>http://www.shnenglu.com/bloodsuck/comments/20338.html</wfw:comment><comments>http://www.shnenglu.com/bloodsuck/archive/2007/03/22/20338.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/bloodsuck/comments/commentRss/20338.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/bloodsuck/services/trackbacks/20338.html</trackback:ping><description><![CDATA[ <p>聽(tīng)</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <span style="COLOR: #008080">聽(tīng)1</span> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">#pragma聽(tīng)once<br /></span> <span style="COLOR: #008080">聽(tīng)2</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">聽(tīng)3</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />class聽(tīng)component<br /></span> <span style="COLOR: #008080">聽(tīng)4</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">聽(tīng)5</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">:<br /></span> <span style="COLOR: #008080">聽(tīng)6</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)component(void);<br /></span> <span style="COLOR: #008080">聽(tīng)7</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)virtual聽(tīng)void聽(tīng)printsefl()</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">0</span> <span style="COLOR: #000000">聽(tīng)聽(tīng)聽(tīng);<br /></span> <span style="COLOR: #008080">聽(tīng)8</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">:<br /></span> <span style="COLOR: #008080">聽(tīng)9</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)virtual聽(tīng)~component(void);<br /></span> <span style="COLOR: #008080">10</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />};<br /></span> <span style="COLOR: #008080">11</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">12</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />class聽(tīng)concreatecom聽(tīng):</span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">聽(tīng)component<br /></span> <span style="COLOR: #008080">13</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">14</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">:<br /></span> <span style="COLOR: #008080">15</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)concreatecom(char</span> <span style="COLOR: #000000">*</span> <span style="COLOR: #000000">聽(tīng));<br /></span> <span style="COLOR: #008080">16</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)virtual聽(tīng)void聽(tīng)printsefl()聽(tīng)聽(tīng)聽(tīng);<br /></span> <span style="COLOR: #008080">17</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)virtual聽(tīng)~concreatecom(void);<br /></span> <span style="COLOR: #008080">18</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />protected:<br /></span> <span style="COLOR: #008080">19</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">private</span> <span style="COLOR: #000000">:<br /></span> <span style="COLOR: #008080">20</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />char聽(tīng)</span> <span style="COLOR: #000000">*</span> <span style="COLOR: #000000">聽(tīng)_psz_text;<br /></span> <span style="COLOR: #008080">21</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />};<br /></span> <span style="COLOR: #008080">22</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">23</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />class聽(tīng)decorator:</span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">聽(tīng)component<br /></span> <span style="COLOR: #008080">24</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">25</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">:<br /></span> <span style="COLOR: #008080">26</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)decorator(component</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">);<br /></span> <span style="COLOR: #008080">27</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)virtual聽(tīng)void聽(tīng)printsefl()聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng);<br /></span> <span style="COLOR: #008080">28</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)virtual聽(tīng)~decorator();<br /></span> <span style="COLOR: #008080">29</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />protected:<br /></span> <span style="COLOR: #008080">30</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">31</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">private</span> <span style="COLOR: #000000">:<br /></span> <span style="COLOR: #008080">32</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)component聽(tīng)</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">聽(tīng)_pcomponent;<br /></span> <span style="COLOR: #008080">33</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />};<br /></span> <span style="COLOR: #008080">34</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />class聽(tīng)聽(tīng)headdeco:</span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">聽(tīng)decorator<br /></span> <span style="COLOR: #008080">35</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">36</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">:<br /></span> <span style="COLOR: #008080">37</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)headdeco(component</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">,</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000">);<br /></span> <span style="COLOR: #008080">38</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)virtual聽(tīng)void聽(tīng)printsefl()聽(tīng)聽(tīng)聽(tīng);<br /></span> <span style="COLOR: #008080">39</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)virtual聽(tīng)~headdeco();<br /></span> <span style="COLOR: #008080">40</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />protected:<br /></span> <span style="COLOR: #008080">41</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)virtual聽(tīng)void聽(tīng)printhead()聽(tīng)聽(tīng);<br /></span> <span style="COLOR: #008080">42</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">private</span> <span style="COLOR: #000000">:<br /></span> <span style="COLOR: #008080">43</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000">聽(tīng)_i_head;<br /></span> <span style="COLOR: #008080">44</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />};<br /></span> <span style="COLOR: #008080">45</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">46</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />class聽(tīng)enddeco:</span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">聽(tīng)decorator<br /></span> <span style="COLOR: #008080">47</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">48</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">:<br /></span> <span style="COLOR: #008080">49</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)enddeco(component</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">,char</span> <span style="COLOR: #000000">*</span> <span style="COLOR: #000000">);<br /></span> <span style="COLOR: #008080">50</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)virtual聽(tīng)void聽(tīng)printsefl()聽(tīng);<br /></span> <span style="COLOR: #008080">51</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)virtual聽(tīng)聽(tīng)~enddeco();<br /></span> <span style="COLOR: #008080">52</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />protected:<br /></span> <span style="COLOR: #008080">53</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)virtual聽(tīng)void聽(tīng)printend()聽(tīng);<br /></span> <span style="COLOR: #008080">54</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">private</span> <span style="COLOR: #000000">:<br /></span> <span style="COLOR: #008080">55</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)char</span> <span style="COLOR: #000000">*</span> <span style="COLOR: #000000">聽(tīng)_pch_end;<br /></span> <span style="COLOR: #008080">56</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />};</span> </div> <br /> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <span style="COLOR: #008080">聽(tīng)1</span> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">#include聽(tīng)</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">StdAfx.h</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">聽(tīng)2</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />#include聽(tīng)</span> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">iostream</span> <span style="COLOR: #000000">></span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">聽(tīng)3</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />#include聽(tīng)</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">component.h</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">聽(tīng)4</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />using聽(tīng)namespace聽(tīng)std;<br /></span> <span style="COLOR: #008080">聽(tīng)5</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">聽(tīng)6</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />component::component(void)<br /></span> <span style="COLOR: #008080">聽(tīng)7</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">聽(tīng)8</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">聽(tīng)9</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">10</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />component::~component(void)<br /></span> <span style="COLOR: #008080">11</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">12</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">13</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">14</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />void聽(tīng)concreatecom::printsefl()聽(tīng)<br /></span> <span style="COLOR: #008080">15</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">16</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)cout</span> <span style="COLOR: #000000"><<</span> <span style="COLOR: #000000">endl;<br /></span> <span style="COLOR: #008080">17</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)cout</span> <span style="COLOR: #000000"><<</span> <span style="COLOR: #000000">_psz_text聽(tīng);<br /></span> <span style="COLOR: #008080">18</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)cout</span> <span style="COLOR: #000000"><<</span> <span style="COLOR: #000000">endl;<br /></span> <span style="COLOR: #008080">19</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">20</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)concreatecom::concreatecom(char</span> <span style="COLOR: #000000">*</span> <span style="COLOR: #000000">聽(tīng)psz)<br /></span> <span style="COLOR: #008080">21</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">22</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)_psz_text</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">psz;<br /></span> <span style="COLOR: #008080">23</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">24</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)decorator::decorator(component</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">聽(tīng)a):<br /></span> <span style="COLOR: #008080">25</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)_pcomponent(a)<br /></span> <span style="COLOR: #008080">26</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">27</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)<br /></span> <span style="COLOR: #008080">28</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">29</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />concreatecom::~concreatecom()<br /></span> <span style="COLOR: #008080">30</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">31</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">32</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">33</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />void聽(tīng)decorator::printsefl()<br /></span> <span style="COLOR: #008080">34</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">35</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />_pcomponent.printsefl();<br /></span> <span style="COLOR: #008080">36</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)<br /></span> <span style="COLOR: #008080">37</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">38</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">39</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />decorator::~decorator()<br /></span> <span style="COLOR: #008080">40</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">41</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">42</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">43</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">44</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)headdeco::headdeco(component聽(tīng)</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">聽(tīng)refcom,聽(tīng)</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000">聽(tīng)i):<br /></span> <span style="COLOR: #008080">45</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)decorator(refcom)<br /></span> <span style="COLOR: #008080">46</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng),_i_head(i)<br /></span> <span style="COLOR: #008080">47</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">48</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">49</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">50</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />void聽(tīng)headdeco::printsefl()聽(tīng)<br /></span> <span style="COLOR: #008080">51</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{聽(tīng)<br /></span> <span style="COLOR: #008080">52</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)printhead();<br /></span> <span style="COLOR: #008080">53</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)decorator::printsefl();<br /></span> <span style="COLOR: #008080">54</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)<br /></span> <span style="COLOR: #008080">55</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">56</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />void聽(tīng)headdeco::printhead()聽(tīng)<br /></span> <span style="COLOR: #008080">57</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">58</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)cout</span> <span style="COLOR: #000000"><<</span> <span style="COLOR: #000000">endl;<br /></span> <span style="COLOR: #008080">59</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)cout</span> <span style="COLOR: #000000"><<</span> <span style="COLOR: #000000">_i_head;<br /></span> <span style="COLOR: #008080">60</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)cout</span> <span style="COLOR: #000000"><<</span> <span style="COLOR: #000000">endl;<br /></span> <span style="COLOR: #008080">61</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">62</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />headdeco::~headdeco()<br /></span> <span style="COLOR: #008080">63</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">64</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)<br /></span> <span style="COLOR: #008080">65</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">66</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">67</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />enddeco::enddeco(component聽(tīng)</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">聽(tīng)refcom,char聽(tīng)</span> <span style="COLOR: #000000">*</span> <span style="COLOR: #000000">聽(tīng)pch)<br /></span> <span style="COLOR: #008080">68</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />:decorator(refcom)<br /></span> <span style="COLOR: #008080">69</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />,_pch_end(pch)<br /></span> <span style="COLOR: #008080">70</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">71</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)<br /></span> <span style="COLOR: #008080">72</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">73</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />void聽(tīng)enddeco::printsefl()聽(tīng)<br /></span> <span style="COLOR: #008080">74</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">75</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)decorator::printsefl();<br /></span> <span style="COLOR: #008080">76</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)printend();<br /></span> <span style="COLOR: #008080">77</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">78</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />void聽(tīng)enddeco::printend()聽(tīng)聽(tīng)<br /></span> <span style="COLOR: #008080">79</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">80</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)cout</span> <span style="COLOR: #000000"><<</span> <span style="COLOR: #000000">endl;<br /></span> <span style="COLOR: #008080">81</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)cout</span> <span style="COLOR: #000000"><<</span> <span style="COLOR: #000000">_pch_end;<br /></span> <span style="COLOR: #008080">82</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)cout</span> <span style="COLOR: #000000"><<</span> <span style="COLOR: #000000">endl;<br /></span> <span style="COLOR: #008080">83</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">84</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />enddeco::~enddeco()<br /></span> <span style="COLOR: #008080">85</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">86</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">87</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}</span> </div> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <span style="COLOR: #008080">聽(tīng)1</span> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">//</span> <span style="COLOR: #000000">聽(tīng)decorator.cpp聽(tīng):聽(tīng)瀹氫箟鎺у埗鍙板簲鐢ㄧ▼搴忕殑鍏ュ彛鐐廣?br /></span> <span style="COLOR: #008080">聽(tīng)2</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #000000">//</span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">聽(tīng)3</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">聽(tīng)4</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />#include聽(tīng)</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">stdafx.h</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">聽(tīng)5</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />#include聽(tīng)</span> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">iostream</span> <span style="COLOR: #000000">></span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">聽(tīng)6</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />#include聽(tīng)</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">component.h</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">聽(tīng)7</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />using聽(tīng)namespace聽(tīng)std;<br /></span> <span style="COLOR: #008080">聽(tīng)8</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">聽(tīng)9</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)void聽(tīng)printmodel(component</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">聽(tīng)pcom聽(tīng))<br /></span> <span style="COLOR: #008080">10</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">11</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)pcom.printsefl();<br /></span> <span style="COLOR: #008080">12</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">13</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000">聽(tīng)_tmain(</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000">聽(tīng)argc,聽(tīng)_TCHAR</span> <span style="COLOR: #000000">*</span> <span style="COLOR: #000000">聽(tīng)argv[])<br /></span> <span style="COLOR: #008080">14</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />{<br /></span> <span style="COLOR: #008080">15</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)<br /></span> <span style="COLOR: #008080">16</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)printmodel(headdeco(headdeco(enddeco(concreatecom(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">姝f枃杈撳嚭涓傘傘傘?/span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">),</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">榛勫ぇ浠?/span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">),</span> <span style="COLOR: #000000">2</span> <span style="COLOR: #000000">),</span> <span style="COLOR: #000000">1</span> <span style="COLOR: #000000">));<br /></span> <span style="COLOR: #008080">17</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)return聽(tīng)</span> <span style="COLOR: #000000">0</span> <span style="COLOR: #000000">;<br /></span> <span style="COLOR: #008080">18</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />}<br /></span> <span style="COLOR: #008080">19</span> <span style="COLOR: #000000"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <p> <br /> <br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 榪欎釜decorator 妯″紡渚嬪瓙璁╁垵瀛﹁?鏇磋兘鍔犳繁 澶氭佸▉鍔涚殑浣撲細(xì)鍜?decorator 妯″紡 姣斿瓙綾葷伒媧葷殑浣撲細(xì)<br />瑕佹敞鎰忕殑闂鏄細(xì)瀵硅薄閾炬繪槸鍦?concreatecomponent聽(tīng) 瀵硅薄澶勭粨鏉熴?br /><br />聽(tīng) ///姝ゅ鏄痗lient 浣跨敤 瀵硅薄鐨勫叆鍙g偣錛屼粎浠呭緱鍒頒簡(jiǎn) 1涓?decorator 鐨勬淳鐢熺被瀵硅薄錛宑lient 浠涔堥兘涓嶇煡閬?br />printmodel(headdeco(headdeco(enddeco(concreatecom("姝f枃杈撳嚭涓傘傘傘?),"榛勫ぇ浠?),2),1));<br />///<br /></p> <p>聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鍦╲c2005 涓嬮氳繃<br /></p> <img src ="http://www.shnenglu.com/bloodsuck/aggbug/20338.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/bloodsuck/" target="_blank">榛勫ぇ浠?/a> 2007-03-22 09:56 <a href="http://www.shnenglu.com/bloodsuck/archive/2007/03/22/20338.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>STL container http://www.shnenglu.com/bloodsuck/archive/2006/09/18/12667.html榛勫ぇ浠?/dc:creator>榛勫ぇ浠?/author>Mon, 18 Sep 2006 02:43:00 GMThttp://www.shnenglu.com/bloodsuck/archive/2006/09/18/12667.htmlhttp://www.shnenglu.com/bloodsuck/comments/12667.htmlhttp://www.shnenglu.com/bloodsuck/archive/2006/09/18/12667.html#Feedback0http://www.shnenglu.com/bloodsuck/comments/commentRss/12667.htmlhttp://www.shnenglu.com/bloodsuck/services/trackbacks/12667.htmlContainers in STL can be divided into three categories:
1.sequence containers,
2.associative containers,
3.container adapters.

1.Sequence Containers

Sequence containers maintain the original ordering of inserted elements. This allows you to specify where to insert the element in the container.

The deque (double-ended queue) container allows for fast insertions and deletions at the beginning and end of the container. You can also randomly access any element quickly.

The list container allows for fast insertions and deletions anywhere in the container, but you cannot randomly access an element in the container.

The vector container behaves like an array, but will automatically grow as required.

For more information on the sequence containers, consult the following table:

Sequence Container Native STL

deque

deque Class

ilist

Not Applicable

list

list Class

vector

vector Class

2.Associative Containers

The defining characteristic of associative containers is that elements are inserted in a pre-defined order, such as sorted ascending.

The associative containers can be grouped into two subsets: maps and sets. A map, sometimes referred to as a dictionary, consists of a key/value pair. The key is used to order the sequence, and the value is somehow associated with that key. For example, a map might contain keys representing every unique word in a text and values representing the number of times that word appears in the text. A set is simply an ascending container of unique elements.

Both map and set only allow one instance of a key or element to be inserted into the container. If multiple instances of elements are required, use multimap or multiset.

Both maps and sets support bidirectional iterators. For more information on iterators, see Iterators.

While not officially part of the STL standard, hash_map and hash_set are commonly used to improve searching times. These containers store their elements as a hash table, with each table entry containing a bidirectional linked list of elements. To ensure the fastest search times, make sure that the hashing algorithm for your elements returns evenly distributed hash values.

For more information on the associative containers, consult the following table:

Associative Container Native STL

hash_map

hash_map Class

hash_multimap

hash_multimap Class

hash_multiset

hash_multiset Class

hash_set

hash_set Class

map

map Class

multimap

multimap Class

multiset

multiset Class

set

set Class



3.Container Adapters

The container adapters are simply variations of the above containers. The container adapters do not support iterators.

The priority_queue container organized such that the element with the highest value is always first in the queue.

The queue container follows FIFO (first in, first out) semantics. The first element inserted (pushed) into the queue is the first to be removed (popped).

The stack container follows LIFO (last in, first out) semantics. The last element to be inserted (pushed) on the stack is the first element to be removed (popped).

Since container adapters do not support iterators, they cannot be used with the STL algorithms. For more information on algorithms, see Algorithms.

For more information on the container adapters, consult the following table:

Container Adapter Native STL

priority_queue

priority_queue Class

queue

queue Class

stack

stack Class




Requirements for Container Elements

Elements inserted into an STL container can be of any object type that supplies a public copy constructor, a public聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) public 鎷瘋礉鏋勯?錛宲ublic 鏋愭瀯 ,public 璧嬪兼搷浣滅聽(tīng)聽(tīng) elem& operator =( elem const &)
destructor, and a public assignment operator. The destructor may not throw an exception. Furthermore, associative聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鏋愭瀯涓嶈兘鎶涘嚭寮傚父
containers such as set and map must have a public comparison operator defined, which is operator< by default. Some聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鍏寵仈瀹瑰櫒聽(tīng) 闄ゆ澶?榪樺簲鐢辨湁 姣旇緝鎿嶄綔絎?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)operations on containers might also require a public default constructor and a public equivalence operator.




浠ヤ笅鏄?鍚勫鍣?榪唬鍣ㄧ被鍨嬭緭鍑轟唬鐮?br />

聽(tīng)1#include聽(tīng)<vector>
聽(tīng)2#include聽(tīng)<list>
聽(tīng)3#include聽(tīng)<deque>
聽(tīng)4#include聽(tīng)<set>
聽(tīng)5#include聽(tīng)<map>
聽(tīng)6using聽(tīng)namespace聽(tīng)std;
聽(tīng)7template聽(tīng)<typename聽(tīng)inputitrator聽(tīng)>
聽(tīng)8void聽(tīng)predict(inputitrator聽(tīng)聽(tīng)a)
聽(tīng)9{聽(tīng)聽(tīng)聽(tīng)iterator_traits<inputitrator>::iterato_category聽(tīng)聽(tīng)b;
10聽(tīng)聽(tīng)聽(tīng)
11聽(tīng)聽(tīng)聽(tīng)cout<<聽(tīng)endl<<聽(tīng)"聽(tīng)聽(tīng)"<<typeid(b).name();
12}

13
14
15main()
16
17{
18聽(tīng)聽(tīng)vector<int>聽(tīng)a;
19聽(tīng)聽(tīng)deque<int>聽(tīng)b;
20聽(tīng)聽(tīng)list<int>聽(tīng)c;
21聽(tīng)聽(tīng)set<int>聽(tīng)d;
22聽(tīng)聽(tīng)map<int>聽(tīng)e;
23聽(tīng)聽(tīng)
24聽(tīng)聽(tīng)聽(tīng)predict(a.begin());
25聽(tīng)聽(tīng)聽(tīng)predict(b.begin());
26聽(tīng)聽(tīng)聽(tīng)predict(c.begin());
27聽(tīng)聽(tīng)聽(tīng)聽(tīng)predict(d.begin());
28聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)predict(e.begin());
29
30}
output iterator
   -> forward iterator
   -> bidirectional iterator
   -> random-access iterator

input iterator
   -> forward iterator
   -> bidirectional iterator
   -> random-access iterator


]]>
MFC 涓?鍛戒護(hù)娑堟伅浼犻?錛堝師鍒涳級(jí)http://www.shnenglu.com/bloodsuck/archive/2006/07/27/10575.html榛勫ぇ浠?/dc:creator>榛勫ぇ浠?/author>Thu, 27 Jul 2006 03:27:00 GMThttp://www.shnenglu.com/bloodsuck/archive/2006/07/27/10575.htmlhttp://www.shnenglu.com/bloodsuck/comments/10575.htmlhttp://www.shnenglu.com/bloodsuck/archive/2006/07/27/10575.html#Feedback2http://www.shnenglu.com/bloodsuck/comments/commentRss/10575.htmlhttp://www.shnenglu.com/bloodsuck/services/trackbacks/10575.html聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) CCmdTarget 涓?妯℃澘 錛屾彁渚涳細(xì) CCmdTarget::OnCmdMsg() 榪欎釜鍑芥暟 瀵?鍏舵淳鐢熺被 鐨勬秷鎭粨鏋勬暟緇勶紙瀹冩槸闈?rùn)鎬佺殑錛夊仛鎼滅儲(chǔ) 騫跺悜涓婏紙鍩虹被錛夌殑緇撴瀯鏁扮粍鍋氭悳绱㈠茍璋冪敤鐩稿簲鐨勬垚鍛樺嚱鏁般?br />聽(tīng)聽(tīng) 媧劇敓綾諱嬌鐢?
聽(tīng)DECLARE_MESSAGE_MAP()
BEGIN_MESSAGE_MAP(鏈被, 鍩虹被)
聽(tīng)ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
END_MESSAGE_MAP()
鍔犲叆閾捐〃

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) AfxWndProc 錛堝彧鏈夊彂鍚戠獥鍙f墠浼?xì)琚皟鐢ㄥQ夛紝姝ゅ嚱鏁?灝嗕嬌鐢℉WND 鍦?mfc搴撶殑鍏ㄥ眬鍙橀噺涓?br />鎵懼埌鍙ユ焺鏄犲皠琛紝杞負(fù) CWnd 鍨?錛屾渶緇堜嬌鐢?媧劇敓綾葷殑瀵筄nCmdMsg()鐨勯噸杞?鏉ュ疄鐜?涓嶅悓鐨勮礬鐢?br />
聽(tīng)聽(tīng)聽(tīng)聽(tīng) 浠ヤ笂鍘熺悊
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鍋氫負(fù)涓涓緥瀛愶紝灝嗙粰鍑轟釜紺轟緥錛?br />
聽(tīng)1class聽(tīng)CMan聽(tīng):聽(tīng)public聽(tīng)CCmdTarget
聽(tīng)2{
聽(tīng)3聽(tīng)聽(tīng)聽(tīng)聽(tīng)DECLARE_DYNAMIC(CMan)
聽(tīng)4
聽(tīng)5public:
聽(tīng)6聽(tīng)聽(tīng)聽(tīng)聽(tīng)CMan();
聽(tīng)7聽(tīng)聽(tīng)聽(tīng)聽(tīng)virtual聽(tīng)~CMan();
聽(tīng)8
聽(tīng)9protected:
10聽(tīng)聽(tīng)聽(tīng)聽(tīng)DECLARE_MESSAGE_MAP()
11public:
12聽(tīng)聽(tīng)聽(tīng)聽(tīng)afx_msg聽(tīng)void聽(tīng)OnAppAbout();
13聽(tīng)聽(tīng)聽(tīng)聽(tīng)virtual聽(tīng)BOOL聽(tīng)OnCmdMsg(UINT聽(tīng)nID,聽(tīng)int聽(tīng)nCode,聽(tīng)void*聽(tīng)pExtra,聽(tīng)AFX_CMDHANDLERINFO*聽(tīng)pHandlerInfo);
14聽(tīng)聽(tīng)聽(tīng)聽(tīng)int聽(tīng)m_id;
15聽(tīng)聽(tīng)聽(tīng)聽(tīng)CString聽(tīng)m_name;
16}
;////////////鑷畾涔夌殑c++綾?br />17
18
19////////////////閲嶈澆聽(tīng)onCmdMsg錛岋紙m_man涓篊MainFram鐨勬垚鍛橈級(jí)

20BOOL聽(tīng)CMainFrame::OnCmdMsg(UINT聽(tīng)nID,聽(tīng)int聽(tīng)nCode,聽(tīng)void*聽(tīng)pExtra,聽(tīng)AFX_CMDHANDLERINFO*聽(tīng)pHandlerInfo)
21{
22聽(tīng)聽(tīng)聽(tīng)聽(tīng)//聽(tīng)TODO:聽(tīng)鍦ㄦ娣誨姞涓撶敤浠g爜鍜?鎴栬皟鐢ㄥ熀綾?/span>
23聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)if聽(tīng)(m_man.OnCmdMsg(nID,聽(tīng)nCode,聽(tīng)pExtra,聽(tīng)pHandlerInfo聽(tīng)))
24聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng){
25聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)return聽(tīng)true;
26
27聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
else
28聽(tīng)聽(tīng)聽(tīng)聽(tīng)return聽(tīng)CFrameWnd::OnCmdMsg(nID,聽(tīng)nCode,聽(tīng)pExtra,聽(tīng)pHandlerInfo);
29}

30//////////////緇機(jī)Man聽(tīng)鍔犱釜鍛戒護(hù)鍝嶅簲
31BEGIN_MESSAGE_MAP(CMan,聽(tīng)CCmdTarget)
32聽(tīng)聽(tīng)聽(tīng)聽(tīng)ON_COMMAND(ID_APP_ABOUT,聽(tīng)OnAppAbout)
33END_MESSAGE_MAP()
34
35
36
37//聽(tīng)CMan聽(tīng)娑堟伅澶勭悊紼嬪簭
38
39void聽(tīng)CMan::OnAppAbout()
40{
41聽(tīng)聽(tīng)聽(tīng)聽(tīng)//聽(tīng)TODO:聽(tīng)鍦ㄦ娣誨姞鍛戒護(hù)澶勭悊紼嬪簭浠g爜
42聽(tīng)聽(tīng)聽(tīng)聽(tīng)CString聽(tīng)str;
43聽(tīng)聽(tīng)聽(tīng)聽(tīng)str.Format("%d聽(tīng)",m_id);
44聽(tīng)聽(tīng)聽(tīng)聽(tīng)str+=m_name;
45聽(tīng)聽(tīng)聽(tīng)聽(tīng)AfxMessageBox(str);
46}

47///////////
48
49榪愯鍚庡氨浼?xì)鍙戠帄W犳鍛戒護(hù)灝嗙敱CMan::onAppAbout()聽(tīng)鏉ヂ?br />50鍝嶅簲


]]>
鑱氬悎http://www.shnenglu.com/bloodsuck/archive/2006/07/05/9422.html榛勫ぇ浠?/dc:creator>榛勫ぇ浠?/author>Wed, 05 Jul 2006 03:45:00 GMThttp://www.shnenglu.com/bloodsuck/archive/2006/07/05/9422.htmlhttp://www.shnenglu.com/bloodsuck/comments/9422.htmlhttp://www.shnenglu.com/bloodsuck/archive/2006/07/05/9422.html#Feedback0http://www.shnenglu.com/bloodsuck/comments/commentRss/9422.htmlhttp://www.shnenglu.com/bloodsuck/services/trackbacks/9422.html聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) a 鑱氬悎 b
聽(tīng)聽(tīng)聽(tīng) b 瑕佹湁蹇呰鐨勬敮鎸佹墠鑳藉疄鐜幫紝鍏蜂綋榪囩▼濡傦細(xì)
聽(tīng)聽(tīng)聽(tīng)聽(tīng) a, cocreateinstance,鎸囧畾 鑷繁鐨処Unknown聽(tīng) ,騫跺繀欏誨湪iid,ppv涓寚瀹氭槸 IID__IUnknown ,IUnknown*錛堣鑱氬悎鐨刢om綾葷殑 闈炲鎵業(yè)Unknown錛?br />姝ゆ椂 琚仛鍚堢被 鍦ㄧ被鍘傦紙createinstance 涓?鎺ユ敹 a鐨?IUnknown聽(tīng) 騫跺湪 b 鐨勬垚鍛樹(shù)腑璧嬪ソ鍊鹼級(jí)鏀寔涓嬶紝琚垱寤?br />鐨刢om綾?琚垱寤恒?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) b 涓?2緇?IUnknown 鎺ュ彛錛氬鎵橈紙鑱氬悎錛?鍜屄?tīng)?闈炲鎵橈紙姝e父錛?br />聽(tīng)聽(tīng)聽(tīng) 鍦╝ 涓幏鍙?IUnknown鎺ュ彛錛坆鐨勶級(jí)錛岃姹?鍏朵粬 鎺ュ彛鏃?( a鎶?瀹㈡埛鍙戝嚭鐨勫b 鐨勬帴鍙h姹?杞埌聽(tīng) a 鑾峰彇
聽(tīng)I(yíng)Unknown 鎺ュ彛 璋冪敤 queryinterface ),鍏ㄩ儴浣跨敤聽(tīng) b 瀵硅薄 鐨劼?濮旀墭鎺ュ彛聽(tīng) 鏉ュ垽鏂?鏄妸鎺ュ彛璇鋒眰 杞埌
闈炲鎵?榪樻槸 澶栭儴聽(tīng) a 鐨処Unknown


]]>
涓涓寘瀹歸噸鐢?/title><link>http://www.shnenglu.com/bloodsuck/archive/2006/07/04/9383.html</link><dc:creator>榛勫ぇ浠?/dc:creator><author>榛勫ぇ浠?/author><pubDate>Tue, 04 Jul 2006 08:20:00 GMT</pubDate><guid>http://www.shnenglu.com/bloodsuck/archive/2006/07/04/9383.html</guid><wfw:comment>http://www.shnenglu.com/bloodsuck/comments/9383.html</wfw:comment><comments>http://www.shnenglu.com/bloodsuck/archive/2006/07/04/9383.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/bloodsuck/comments/commentRss/9383.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/bloodsuck/services/trackbacks/9383.html</trackback:ping><description><![CDATA[     鎽樿: 1 #pragma聽(tīng)once 聽(tīng)聽(tīng)2 static 聽(tīng) const 聽(tīng)GUID聽(tīng)CLSID_mydiv聽(tīng) = 聽(tīng) 聽(tīng)聽(tīng)3 {聽(tīng) ...  <a href='http://www.shnenglu.com/bloodsuck/archive/2006/07/04/9383.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/bloodsuck/aggbug/9383.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/bloodsuck/" target="_blank">榛勫ぇ浠?/a> 2006-07-04 16:20 <a href="http://www.shnenglu.com/bloodsuck/archive/2006/07/04/9383.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Run time type Informationhttp://www.shnenglu.com/bloodsuck/archive/2006/07/04/9360.html榛勫ぇ浠?/dc:creator>榛勫ぇ浠?/author>Tue, 04 Jul 2006 02:23:00 GMThttp://www.shnenglu.com/bloodsuck/archive/2006/07/04/9360.htmlhttp://www.shnenglu.com/bloodsuck/comments/9360.htmlhttp://www.shnenglu.com/bloodsuck/archive/2006/07/04/9360.html#Feedback2http://www.shnenglu.com/bloodsuck/comments/commentRss/9360.htmlhttp://www.shnenglu.com/bloodsuck/services/trackbacks/9360.html
涓聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) dynamic_cast
< type-id > ( expression )
聽(tīng) type-id :蹇呴』鏄寚閽堟垨鑰呭紩鐢?br />聽(tīng) expression:蹇呴』鏄寚閽堟垨鑰呬竴涓乏鍊?br />鍩烘湰涓婃槸鐢ㄦ潵鍋?瀛愬璞¢棿鐨勮漿鎹?br />1.鍩烘湰鐨勭敤娉?br />
class B { ... };
class C : public B { ... };
class D : public C { ... };

void f(D* pd)
{
   C* pc = dynamic_cast<C*>(pd);   // ok: C is a direct base class
                                 // pc points to C subobject of pd 

   B* pb = dynamic_cast<B*>(pd);   // ok: B is an indirect base class
                                 // pb points to B subobject of pd 
   ...
}

This type of conversion is called an "upcast" because it moves a pointer up a class hierarchy, from a derived class to a class it is derived from. An upcast is an implicit conversion.

If type-id is void*, a run-time check is made to determine the actual type of expression. The result is a pointer to the complete object pointed to by expression. For example:

class A { ... };

class B { ... };

void f()
{
   A* pa = new A;
   B* pb = new B;
   void* pv = dynamic_cast<void*>(pa);
   // pv now points to an object of type A
   ...
   pv = dynamic_cast<void*>(pb);
   // pv now points to an object of type B
}

If type-id is not void*, a run-time check is made to see if the object pointed to by expression can be converted to the type pointed to by type-id.

If the type of expression is a base class of the type of type-id, a run-time check is made to see if expression actually points to a complete object of the type of type-id. If this is true, the result is a pointer to a complete object of the type of type-id. For example:

class B { ... };
class D : public B { ... };

void f()
{
   B* pb = new D;                     // unclear but ok
   B* pb2 = new B;

   D* pd = dynamic_cast<D*>(pb);      // ok: pb actually points to a D
   ...
   D* pd2 = dynamic_cast<D*>(pb2);   // pb2 points to a B not a D
                                    // cast was bad so pd2 == NULL
   ...
}

This type of conversion is called a "downcast" because it moves a pointer down a class hierarchy, from a given class to a class derived from it.
灝忕粨錛?br />聽(tīng) a聽(tīng)聽(tīng)聽(tīng)聽(tīng) 瀹為檯鎸囧悜瀵硅薄 鍜屄?tīng)?b 鐩爣瀵硅薄,聽(tīng) b 鏄痑 鐨?鍩虹被錛堝瓙瀵硅薄錛夛紝鎴栬呮槸2鑰?鍚岀駭杞崲鎵嶆垚鍔?br />鍚﹀垯 鐩爣涓篘ULL;涔熷氨鏄涓嶈兘鍚戜笅杞?br />


2聽(tīng)聽(tīng) 澶氶噸闈炶櫄鐨勭戶鎵挎ā寮?br />

Class Hierarchy Showing Multiple Inheritance

A pointer to an object of type D can be safely cast to B or C. However, if D is cast to point to an A object, which instance of A would result? This would result in an ambiguous casting error. To get around this problem, you can perform two unambiguous casts. For example:

void f()
{
   D* pd = new D;
   A* pa = dynamic_cast<A*>(pd);      // error: ambiguous
   B* pb = dynamic_cast<B*>(pd);      // first cast to B
   A* pa2 = dynamic_cast<A*>(pb);   // ok: unambiguous
}

Further ambiguities can be introduced when you use virtual base classes. Consider the class hierarchy shown in the following figure.

聽(tīng)聽(tīng)聽(tīng) 涔熷氨鏄鍦?鎰忔т笅浼?xì)澶辫?br />3.瀛愬璞¢棿鐨勮漿鎹?br />

Class Hierarchy Showing Duplicate Base Classes


聽(tīng)聽(tīng)聽(tīng)聽(tīng)//pd 鎸囧悜 e 瀵硅薄
void f(D* pd)
{
聽(tīng)聽(tīng) E* pe = dynamic_cast<E*>(pd);
聽(tīng)聽(tīng) B* pb = pe;聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) // upcast, implicit conversion
聽(tīng)聽(tīng) A* pa = pb;聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) // upcast, implicit conversion
}

//pd 鎸囧悜 e 瀵硅薄
void f(D* pd)
{
聽(tīng)聽(tīng) B* pb = dynamic_cast<B*>(pd);聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) // cross cast
聽(tīng)聽(tīng) A* pa = pb;聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) // upcast, implicit conversion
}

聽(tīng) 涔熷氨鏄?鎵璋?cross cast

浜屄?typeid( type-id )聽(tīng)聽(tīng)聽(tīng)聽(tīng) typeid( expression )聽(tīng)
聽(tīng)聽(tīng) 姝ゆ搷浣滅榪斿洖涓?const type_info &聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) expression聽(tīng)蹇呴』鎸囧悜涓涓鎬佺被鍨嬶紙甯﹁櫄鍑芥暟聽(tīng)聽(tīng)聽(tīng) 錛夛紝騫朵笖瑕佽В寮曠敤

#include <iostream>
#include <typeinfo.h>

class Base {
public:
聽(tīng)聽(tīng) virtual void vvfunc() {}
};

class Derived : public Base {};

using namespace std;
int main()
{
聽(tīng)聽(tīng) Derived* pd = new Derived;
聽(tīng)聽(tīng) Base* pb = pd;
聽(tīng)聽(tīng) cout << typeid( pb ).name() << endl;聽(tīng)聽(tīng) //prints "class Base *"
聽(tīng)聽(tīng) cout << typeid( *pb ).name() << endl;聽(tīng)聽(tīng) //prints "class Derived"
聽(tīng)聽(tīng) cout << typeid( pd ).name() << endl;聽(tīng)聽(tīng) //prints "class Derived *"
聽(tīng)聽(tīng) cout << typeid( *pd ).name() << endl;聽(tīng)聽(tīng) //prints "class Derived"
聽(tīng)聽(tīng) delete pd;
}
// compile with: /GR /EHsc

鍦ㄦā鐗堜腑浣跨敤
template < typename T > T max( T arg1, T arg2 ) {
聽(tīng)聽(tīng) cout << typeid( T ).name() << "s compared." << endl;
聽(tīng)聽(tīng) return ( arg1 > arg2 ? arg1 : arg2 );
}


聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)



]]>
涓涓猚om緇勪歡鐨勭粌涔?/title><link>http://www.shnenglu.com/bloodsuck/archive/2006/06/30/9244.html</link><dc:creator>榛勫ぇ浠?/dc:creator><author>榛勫ぇ浠?/author><pubDate>Fri, 30 Jun 2006 09:23:00 GMT</pubDate><guid>http://www.shnenglu.com/bloodsuck/archive/2006/06/30/9244.html</guid><wfw:comment>http://www.shnenglu.com/bloodsuck/comments/9244.html</wfw:comment><comments>http://www.shnenglu.com/bloodsuck/archive/2006/06/30/9244.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/bloodsuck/comments/commentRss/9244.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/bloodsuck/services/trackbacks/9244.html</trackback:ping><description><![CDATA[     鎽樿: // 聽(tīng){7B55D765-68A6-404e-99E2-CA9ABC389A27} static 聽(tīng) const 聽(tīng)聽(tīng)GUID聽(tīng)I(yíng)ID_IUnknown9 = 聽(tīng) {聽(tīng) 0x7b55d765 ...  <a href='http://www.shnenglu.com/bloodsuck/archive/2006/06/30/9244.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/bloodsuck/aggbug/9244.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/bloodsuck/" target="_blank">榛勫ぇ浠?/a> 2006-06-30 17:23 <a href="http://www.shnenglu.com/bloodsuck/archive/2006/06/30/9244.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>MFC涓?windows object 鍜?C++ objecthttp://www.shnenglu.com/bloodsuck/archive/2006/06/30/9222.html榛勫ぇ浠?/dc:creator>榛勫ぇ浠?/author>Fri, 30 Jun 2006 03:33:00 GMThttp://www.shnenglu.com/bloodsuck/archive/2006/06/30/9222.htmlhttp://www.shnenglu.com/bloodsuck/comments/9222.htmlhttp://www.shnenglu.com/bloodsuck/archive/2006/06/30/9222.html#Feedback1http://www.shnenglu.com/bloodsuck/comments/commentRss/9222.htmlhttp://www.shnenglu.com/bloodsuck/services/trackbacks/9222.html The Problem

Windows objects are normally represented by HANDLEs. The MFC classes wrap Windows object handles with C++ objects. The handle wrapping functions of the MFC class library provide a way to find the C++ object that is wrapping the Windows object with a particular handle. There are times when a Windows object does not have a C++ wrapper object, however, and at these times a temporary object is created to act as the C++ wrapper.

mfc 鏄犲皠鐨?windows object ---->c++ wrapper
浠ヤ笅浣跨敤 mfc 鐨勫嚱鏁?濡傦細(xì)fromhandle, getdlgitem,閮戒細(xì)榪斿洖temporary 鍜?pemanent聽(tīng) c++ wrapper object
聽(tīng)娉ㄦ剰錛?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) 闆舵椂鐨?瀵硅薄 浼?xì)琚湪绌洪棽鏃?OnIdle()鍑芥暟)琚垹闄わ紝涓嶈兘瀛樹(shù)笅鍦ㄤ笅嬈℃秷鎭鐞嗕腑 浣跨敤
The default OnIdle processing in CWinThread automatically calls DeleteTempMap for each class that supports temporary handle maps
////////////////////////////////////////////////////////////
The Windows objects that use handle maps are:

  • HWND (CWnd and CWnd-derived classes)
  • HDC (CDC and CDC-derived classes)
  • HMENU (CMenu)
  • HPEN (CGdiObject)
  • HBRUSH (CGdiObject)
  • HFONT (CGdiObject)
  • HBITMAP (CGdiObject)
  • HPALETTE (CGdiObject)
  • HRGN (CGdiObject)
  • HIMAGELIST (CImageList)
  • SOCKET (CSocket)

///////////////////////////////////////////////

Given a handle to any of these objects, you can find the MFC object that wraps the handle by calling the static member function FromHandle. For example, given an HWND called hWnd:

CWnd::FromHandle(hWnd)

will return a pointer to the CWnd that wraps the hWnd. If that hWnd does not have a specific wrapper object, then a temporary CWnd is created to wrap the hWnd. This makes it possible to get a valid C++ object from any handle.

Once you have a wrapper object, you can get to its handle through a public member variable. In the case of a CWnd, m_hWnd contains the HWND for that object.

Attaching Handles to MFC Objects

Given a newly created handle-wrapper object and a handle to a Windows object, you can associate the two by calling Attach. For example:

CWnd myWnd;
myWnd.Attach(hWnd);
////mywnd 鏋愭瀯鏃朵細(xì)璋冪敤 destroywindow ,榪炲悓 hwnd 涓璧烽攢姣?br />



This makes an entry in the permanent map associating myWnd and hWnd.
Calling CWnd::FromHandle(hWnd) will now return a pointer to myWnd.
When myWnd is deleted, the destructor will automatically destroy the hWnd by calling the Windows DestroyWindow function. If this is not desired, the hWnd must be detached from myWnd before the myWnd object is destroyed (normally when leaving the scope at which myWnd was defined). The Detach member function does this.

myWnd.Detach();

More About Temporary Objects

Temporary objects are created whenever FromHandle is given a handle that does not already have a wrapper object. These temporary objects are detached from their handle and deleted by the DeleteTempMap functions. The default OnIdle processing in CWinThread automatically calls DeleteTempMap for each class that supports temporary handle maps. This means that you cannot assume a pointer to a temporary object will be valid past the point of exit from the function where the pointer was obtained, as the temporary object will be deleted during the Windows message-loop idle time.

寰堥噸瑕?
鍦ㄥ綰跨▼涓紶閫?c++ wrapper object 鏄棤鏁堢殑(鏃犺鏄?temporary 榪樻槸 permanent)
鍙兘浼犻?windows handle, 鎹㈠彞璇濆氨鏄錛?綰跨▼ 鍙兘 璁塊棶 鑷繁鍒涘緩鐨刢++ wrapper object

Wrapper Objects and Multiple Threads

Both temporary and permanent objects are maintained on a per-thread basis. That is, one thread cannot access another threads C++ wrapper objects, regardless of whether it is temporary or permanent. As stated above, temporary objects are deleted when the thread which that temporary object belongs enters OnIdle.

To pass these objects from one thread to another, always send them as their native HANDLE type. Passing a C++ wrapper object from one thread to another will often result in unexpected results.

聽(tīng)聽(tīng)聽(tīng)聽(tīng)



]]>
STL 涔卞浜岋紙鍘熷垱錛?/title><link>http://www.shnenglu.com/bloodsuck/archive/2006/06/02/8084.html</link><dc:creator>榛勫ぇ浠?/dc:creator><author>榛勫ぇ浠?/author><pubDate>Fri, 02 Jun 2006 07:43:00 GMT</pubDate><guid>http://www.shnenglu.com/bloodsuck/archive/2006/06/02/8084.html</guid><wfw:comment>http://www.shnenglu.com/bloodsuck/comments/8084.html</wfw:comment><comments>http://www.shnenglu.com/bloodsuck/archive/2006/06/02/8084.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/bloodsuck/comments/commentRss/8084.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/bloodsuck/services/trackbacks/8084.html</trackback:ping><description><![CDATA[1.瀹瑰櫒<br />聽(tīng)聽(tīng) 欏哄簭: vector(綾諱技鍔ㄦ佸闀挎暟緇勶級(jí)聽(tīng) deque聽(tīng)錛堝弻绔槦鍒楋級(jí)聽(tīng) list錛堝弻澶存寚閽堬級(jí)<br />聽(tīng)聽(tīng) 鍏寵仈:set 聽(tīng)multiset(鏈夐噸澶嶏級(jí)聽(tīng) map聽(tīng)聽(tīng) multiset錛堟湁閲嶅錛?錛岃嚜鍔ㄦ帓搴忥紙鍐呴儴2鍙夋爲(wèi)錛?br />聽(tīng) 鐗規(guī)畩棰勫畾涔夊鍣細(xì)stack, queue ,prority queue<br />2.榪唬鍣?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 姣忕瀹瑰櫒閮芥彁渚涗簡(jiǎn)鑷繁鐨勮凱浠e櫒錛岀浉鍚岀殑鎿嶄綔鐣岄潰錛屼笉鍚岀殑鍐呴儴瀹炵幇錛?br />聽(tīng)聽(tīng) *,->,==,!=,++,--鍏卞悓鎿嶄綔<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) 闅忔満iterator : 鏀寔 >錛?lt;:濡傦細(xì)vector, deque,string<br />聽(tīng)聽(tīng)聽(tīng) 鍙屽悜iterator:涓嶆敮鎸?gt;,<:<br />聽(tīng)聽(tīng) 鐗規(guī)畩棰勫畾涔夛細(xì)<br />鎻掑叆榪唬鍣?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) insert iterator:寮曡搗鑷姩澧為暱錛岄潪瑕嗙洊<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) back_inserter(container)<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) front_inserter(container)<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) inserter(container,pos)//璋冪敤聽(tīng)container.insert()//姣忕瀹瑰櫒閮藉叿鏈塱nsert()//鍏寵仈瀹瑰櫒鍞竴<br />聽(tīng)嫻佽凱浠e櫒<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) istream_iterator<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ostream_iterator<br />聽(tīng)閫嗗悜榪唬鍣?br />瀹瑰櫒涓厓绱犲簲婊¤凍錛?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鏈夋嫹璐濇瀯閫狅紝璧嬪艱繍綆楃錛屾瀽鏋勮兘閿姣?br />聽(tīng)聽(tīng) 欏哄簭錛氶粯璁ゆ瀯閫犲簲璇ュ彲鐢?br />聽(tīng)聽(tīng) 鍏寵仈錛氬繀欏繪湁鎺掑簭鍑嗗垯<br />瀹瑰櫒涓槸 鍊間笉鏄紩鐢?br /><br />閫氱敤鎿嶄綔錛?br />聽(tīng)聽(tīng) containertype c;<br />聽(tīng) ct聽(tīng) c(c1);<br />聽(tīng) ct聽(tīng)聽(tīng) c(begin,end);<br />聽(tīng)c.~ct();<br />聽(tīng)c.size(), c.max_size(),c.empty(),c1==c2;c1<c2;c1.swap(c2);聽(tīng)swap(c1,c2);c.begin();c.end();c.rbegin();c.rend();<br />c.inert(pos,elem);c.erase(begin,end),c.clear(),c.get_allocator<br />聽(tīng)<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) 3.vector <br />聽(tīng)聽(tīng)聽(tīng) 鍔ㄦ佸闀挎暟緇?鍦ㄩ槦灝炬彃鍏ワ紝鍒犻櫎鏁堢巼楂?br />娉ㄦ剰 鍔ㄦ佸闀挎椂 榪唬鍣ㄥけ鏁?鍐呴儴鍙兘瑕侀噸閰嶇疆<br />闄や簡(jiǎn)clear(),vector 涓嶄細(xì)鑷姩緙╁皬<br />vector 鐨勮凱浠e櫒 灝辨槸 鍏冪礌鐨刵ative鎸囬拡,榪炵畫(huà)瀛樺偍錛岃凱浠e櫒鏄釜random <br />絀哄垽鏂?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) a.begin==a.end<br /><br />4.list聽(tīng)<br />聽(tīng)聽(tīng) 榪唬鍣ㄦ槸涓弻鍚戠殑錛岄潪榪炵畫(huà)瀛樺偍錛岃屼笖鏄釜鐜姸閾捐〃鍦ㄥ熬绔槸涓湭鍒濆鍖栬妭鐐?br />絀哄垽鏂?br />聽(tīng)聽(tīng) a.begin==a.end;<br />clear聽(tīng) remove聽(tīng) unique(鎶婄浉鍚屽厓绱犵Щ鍑猴紝鐣欎竴涓? 聽(tīng)insert<br />鍙兘浣跨敤鎴愬憳鍑芥暟 sort錛屼笉鑳戒嬌鐢?tīng)绠楁?sort(浠栧彧鎺ュ彈random iterator)<br />5 .deque<br />鍔ㄦ佸闀跨殑鍙岀闃熷垪 錛屼絾鍐呴儴鏈哄埗鍜寁ector 涓嶄竴鏍?錛岃嫢騫茶繛緇瓨鍌ㄧ殑闆嗗悎<br />綆楁硶澶嶆潅搴﹂珮錛屽鎺掑簭鏃跺彲灝?鍏跺鍒跺埌 vector涓紝澶?灝炬彃鍏?鍒犻櫎鏁堢巼楂樎?錛?br />鎻愪緵闅忔満榪唬鍣?br />6.stack (container adapter)<br />鍏堣繘鍚庡嚭錛屼笉渚涜凱浠e櫒錛?涓嶆彁渚涜蛋璁垮姛鑳?br />7.queue(container adapter)<br />聽(tīng)聽(tīng)鍏堣繘鍏堝嚭錛屼笉鎻愪緵榪唬鍣紝涓嶆彁渚涜蛋璁垮姛鑳?br />8.heap 杈呭姪<br />聽(tīng)聽(tīng) 鍏跺唴閮ㄤ負(fù)涓涓畬鍏?鍙夋爲(wèi)錛屾彃鍏ユ椂鑷姩鎺掑簭錛屼竴鑸負(fù)max_heap<br />聽(tīng)聽(tīng)聽(tīng)宸﹀彸鏃犲簭錛屾煇鑺傜偣聽(tīng)i,聽(tīng)鐖惰妭鐐孤?tīng)i/2,宸﹀瓙鑺傜偣 2i錛屽彸瀛愯妭鐐?2i+1錛?br />聽(tīng)<pre class="syntax"><b>template<class RandomAccessIterator> inline</b><b> void make_heap(</b><b> RandomAccessIterator </b><i>First</i><b>,</b><b> RandomAccessIterator </b><i>Last</i><b> )</b><b>template<class RandomAccessIterator> inline</b><b> void sort_heap(</b><b> RandomAccessIterator </b><i>First</i><b>,</b><b> RandomAccessIterator </b><i>Last</i><b> )</b><b>template<class RandomAccessIterator> inline</b><b> void push_heap(</b><b> RandomAccessIterator </b><i>First</i><b>,</b><b> RandomAccessIterator </b><i>Last</i><b> )</b><b>template<class RandomAccessIterator> inline</b><b> void pop_heap(</b><b> RandomAccessIterator </b><i>First</i><b>,</b><b> RandomAccessIterator </b><i>Last</i><b> )</b></pre>聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 9.set,鍏寵仈瀹瑰櫒 錛屽簳灞備互rb-tree 瀹炵幇錛屽叾榪唬鍣ㄤ負(fù)涓猚onst iterator<br />聽(tīng)聽(tīng) 涓嶈兘鐢ㄨ凱浠e櫒鏉ユ敼鍙?鍏冪礌鍊鹼紝緙虹渷涓嬩互閫掑鎺掑簭<img src ="http://www.shnenglu.com/bloodsuck/aggbug/8084.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/bloodsuck/" target="_blank">榛勫ぇ浠?/a> 2006-06-02 15:43 <a href="http://www.shnenglu.com/bloodsuck/archive/2006/06/02/8084.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>STL 涔卞涓錛堝師鍒涳級(jí)http://www.shnenglu.com/bloodsuck/archive/2006/05/31/7950.html榛勫ぇ浠?/dc:creator>榛勫ぇ浠?/author>Wed, 31 May 2006 08:53:00 GMThttp://www.shnenglu.com/bloodsuck/archive/2006/05/31/7950.htmlhttp://www.shnenglu.com/bloodsuck/comments/7950.htmlhttp://www.shnenglu.com/bloodsuck/archive/2006/05/31/7950.html#Feedback0http://www.shnenglu.com/bloodsuck/comments/commentRss/7950.htmlhttp://www.shnenglu.com/bloodsuck/services/trackbacks/7950.html闃呰鍏ㄦ枃

]]>
鍥藉唴鍝鍝閾惰鐨勭緝鍐欐渶鐗?!!!!!!!!!!!!!!!!!! http://www.shnenglu.com/bloodsuck/archive/2006/05/31/7937.html榛勫ぇ浠?/dc:creator>榛勫ぇ浠?/author>Wed, 31 May 2006 06:50:00 GMThttp://www.shnenglu.com/bloodsuck/archive/2006/05/31/7937.htmlhttp://www.shnenglu.com/bloodsuck/comments/7937.htmlhttp://www.shnenglu.com/bloodsuck/archive/2006/05/31/7937.html#Feedback0http://www.shnenglu.com/bloodsuck/comments/commentRss/7937.htmlhttp://www.shnenglu.com/bloodsuck/services/trackbacks/7937.html
1.涓浗寤鴻閾惰鈥曗旵BC錛圕onstruction Bank of China錛?鈥曗曗滃瓨?shù)笉瀛樺Q熲?
2.涓浗閾惰鈥曗旴C錛圔ank of China錛?鈥曗曗滀笉瀛橈紒鈥?
3.涓浗鍐滀笟閾惰鈥曗旳BC錛圓griculture Bank of China錛?鈥曗曗滃晩錛屼笉瀛樸傗?
4.涓浗宸ュ晢閾惰鈥曗旾CBC 鈥曗?鈥滅埍瀛樹(shù)笉瀛樸傗?
5.姘戠敓閾惰鈥曗旵MSB 鈥曗曗滃瓨鍚楋紵SB鈥?
6.鎷涘晢閾惰鈥曗旵MBC 鈥曗曗滃瓨鍚楋紵錛熺櫧 鐥達(dá)紒鈥?
7. 鍏翠笟閾惰鈥曗旵IB 鈥曗曗滃瓨?shù)竴鐧鋸?
8. 鍥藉寮鍙戦摱琛屸曗旵DB 鈥曗曞瓨鐐瑰惂錛?
9.鈥?鍖椾含甯?jìng)鍟嗕笟閾惰鈥曗旴CCB 鈥曗曠櫧瀛樺瓨?shù)笉锛熲?
10.姹囦赴閾惰鈥曗旽SBC 鈥曗曗滆繕鏄笉瀛樸傗?
聽(tīng)


]]>
C++涔︾睄涓嬶紙杞澆錛?/title><link>http://www.shnenglu.com/bloodsuck/archive/2006/05/31/7936.html</link><dc:creator>榛勫ぇ浠?/dc:creator><author>榛勫ぇ浠?/author><pubDate>Wed, 31 May 2006 05:36:00 GMT</pubDate><guid>http://www.shnenglu.com/bloodsuck/archive/2006/05/31/7936.html</guid><wfw:comment>http://www.shnenglu.com/bloodsuck/comments/7936.html</wfw:comment><comments>http://www.shnenglu.com/bloodsuck/archive/2006/05/31/7936.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/bloodsuck/comments/commentRss/7936.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/bloodsuck/services/trackbacks/7936.html</trackback:ping><description><![CDATA[ <font face="Verdana">聽(tīng)鎴戝湪涓婄瘒涓滅洏鐐光濅簡(jiǎn)TCPL鍜孌&E浠ュ強(qiáng)鍏ラ棬鏁欑▼銆侀珮鏁堝拰鍋ュ.緙栫▼銆佹ā鏉垮拰娉涘瀷緙栫▼絳夋柟闈㈠叡鍗佸嚑鏈珻++濂戒功銆傚啲鍘繪槬鏉ワ紝璁╂垜浠戶緇瑿++涔︾睄綺懼僵涔嬫梾J聽(tīng) </font> <p> <font face="Verdana">鏍囧噯搴撀?</font> </p> <p> <font face="Verdana">褰撴垜榪樺湪鐮旂┒闄㈠伐浣滄椂錛屼笌鍚岄櫌鍙﹀涓ゅ鐮旂┒鎵鍚堜綔寮鍙戣繃涓涓ぇ鍨嬫按鍒╂灑綰借皟搴﹂泦鎴愰」鐩傛垜浠笁瀹惰蔣浠剁郴緇熶箣闂撮兘瑕佺浉浜掗氫俊銆傚湪璋冭瘯閫氳妯″潡鏃訛紝緇嗗績(jī)鐨勫鎴鳳紙涓鍚嶅ソ瀛︾殑緋葷粺綆$悊鍛橈級(jí)鍙戠幇瀵逛簬鍚屼竴閫氫俊瑙勭害鐨勮В閲婁唬鐮侊紝鎴戠殑涓嶈秴榪?0琛岋紝鑰屽鏂圭殑鍒欒秴榪囦簡(jiǎn)150琛屼笖寰堥毦鐪嬫噦銆傝繖浣嶇郴緇熺鐞嗗憳寰堢撼闂鳳紝鎴戣澶у緙栫▼椋庢牸鍜屼範(fàn)鎯笉涓鏍鳳紝鎴戜嬌鐢ㄤ簡(jiǎn)鏍囧噯搴擄紝鑰屼粬浣跨敤浜?jiǎn)浼牼l烠緙栫▼椋庢牸浠ュ強(qiáng)浠栨墍涔?fàn)鎯殑鍙﹀涓浜涙妧鏈偮?</font> </p> <p> <font face="Verdana">鍒浼?xì)锛佹垜缁濇棤璐綆杩欎綅鍚堜綔浼欎即鐨勬剰鎬濄備簨瀹炰笂錛屾垜瀵歸偅浜涚湡姝f湁鐫娣卞帤鐨凜緙栫▼鍔熷姏鐨勭▼搴忓憳甯稿父鎬鏈夐挦浣╀箣蹇?jī)銆傛瘯绔燂紝C++鑳芥湁浠婂ぉ鐨勬垚鍔熷湪寰堝ぇ紼嬪害涓婄紭?shù)簬瀹冩繁娣卞湴妞嶆牴浜嶤銆備綔涓轟竴鍚岰++紼嬪簭鍛橈紝鍊樿嫢涓嶇啛鎮(zhèn)塁++涓殑C錛屾垜寰寰浼?xì)璁や皋Z粬鐨勫熀鏈姛鏄笉鎵庡疄鐨勶紝浠栫殑鎶鏈簳姘旀槸涓嶈凍鐨勩偮?</font> </p> <p> <font face="Verdana">涓嶈繃璇濆張璇村洖鏉ワ紝C++鏄竴縐嶅鑼冨瀷錛坧aradigm錛夌紪紼嬭璦錛屽叿浣撻噰鐢ㄥ摢縐嶇紪紼嬮鏍鹼紝涓撲笟紼嬪簭鍛樺簲璇ョ煡閬撹鍏蜂綋鎯呭喌鑰屽畾銆備綔涓轟竴鍚嶇粡甯擱渶瑕佸湪鐜板満鍋氬嵆鍏村紑鍙戠殑欏圭洰璐熻矗浜猴紝涓轟簡(jiǎn)鐭鉤蹇湴瑙e喅褰撳姟涔嬫ワ紝鎴戜範(fàn)鎯敖閲忛噰鐢ㄧ幇鏈夌殑搴擄紙鍜岀粍浠訛級(jí)銆傛晥鐜囷紙浠ュ強(qiáng)寮哄仴鎬э級(jí)涔呯粡楠岃瘉鐨凜++鏍囧噯搴撳凡緇忔憜鍦ㄩ偅鍎夸簡(jiǎn)錛屼綍涔愯屼笉鐢ㄥ憿錛熉?</font> </p> <p> <font face="Verdana">Nicolai M. Josuttis, The C++ Standard Library: A Tutorial and Reference <br />銆奀++鏍囧噯紼嬪簭搴擄細(xì)鑷慨鏁欑▼涓庡弬鑰冩墜鍐屻嬶紝鍗庝腑縐戞妧澶у鍑虹増紺?</font> </p> <p> <font face="Verdana">榪欐槸涓鏈櫨縐戝叏涔﹀紡鐨凜++鏍囧噯搴撹憲浣滐紝鏄竴鏈渶瑕佷竴鍐嶆煡闃呯殑鍙傝冨ぇ鍏ㄣ傚畠鍦ㄥ畬澶囨с佺粏鑷存т互鍙?qiáng)绮炯嫯鎬ф柟闈㈤兘鏄棤涓庝雞姣旂殑銆傛湰涔﹁緇嗕粙緇嶄簡(jiǎn)姣忎竴鏍囧噯搴撶粍浠剁殑瑙勬牸鍜岀敤娉曪紝鍐呭娑電洊鍖呮嫭嫻佸拰鏈湴鍖栧湪鍐呯殑鏁翠釜鏍囧噯搴撹屼笉浠呬粎鏄疭TL銆傛濡傛湰涔﹀壇鏍囬鎵紺猴紝瀹冮鍏堥傚悎浣滀負(fù)鏁欑▼闃呰錛屽皵鍚庡張鍙敤浣滃弬鑰冩墜鍐屻?</font> </p> <p> <font face="Verdana">嫻呮樉鏄撴噦鐨勫啓浣滈鏍間嬌寰楄繖鏈功闈炲父鏄撹銆傚鏋滀綘甯屾湜瀛︿範(fàn)鏍囧噯搴撶殑鐢ㄦ硶騫跺敖鍙兘鍦板彂鎸ュ叾娼滆兘錛岄偅浣犲繀欏繪嫢鏈夎繖鏈功銆傛濡傜綉緇滀笂鎵璦錛岃繖鏈功涓嶄粎浠呭簲璇ユ憜鍦ㄤ綘鐨勪功姍變腑錛屾洿搴旇鏀懼埌浣犵殑鐢?shù)鑴戞涓娿傛垜鍚戞瘡涓浣嶈亴涓欳++紼嬪簭鍛樺己鐑堟帹鑽愩?</font> </p> <p> <font face="Verdana">Angelika Langer, Klaus Kreft, Standard C++ IOStreams and Locales: Advanced Programmer's Guide and Reference <br />銆婃爣鍑咰++杈撳叆杈撳嚭嫻佷笌鏈湴鍖栥嬶紝浜烘皯閭數(shù)鍑虹増紺?</font> </p> <p> <font face="Verdana">C++鏍囧噯搴撶敱STL銆佹祦鍜屾湰鍦板寲涓夐儴鍒嗘瀯鎴愩傚叧浜嶴TL鐨勪功甯?jìng)闈笂宸簿l忔湁涓嶅皯錛屼絾緗曡嫻佸拰鏈湴鍖栨柟闈㈢殑涓撹憲銆傛湰涔︽槸榪欎袱涓鍩熶腑鏈浼樼鐨勪竴鏈紝榪勪粖涓烘娌℃湁浠諱綍涓鏈功姣旇繖涓鏈洿鍏ㄩ潰璇﹀敖鍦拌璁轟簡(jiǎn)嫻佸拰鏈湴鍖栥傚鏋滀綘涓嶆弧瓚充簬鍋滅暀鍦ㄢ滀細(xì)鐢ㄢ濇祦搴撶殑灞傞潰錛屽崈涓囦笉瑕侀敊榪囧畠銆?</font> </p> <p> <font face="Verdana">2001騫村澶╋紝鎴戣崏鑽夌炕闃呰繃榪欐湰涔︾殑涓枃鐗堬紝浠庡唴瀹瑰埌鍖呰閮界粰鎴戠暀涓嬩簡(jiǎn)姣旇緝娣卞埢鐨勫嵃璞?鈥?涓嶈繃璐熼潰鐨勫眳澶氫竴浜涖?003騫寸澶╋紝鏃犳剰涓緱鐭ユ煇緗戠粶涔﹀簵姝d互瓚呬綆浠鋒牸鐢╁崠榪欐湰涔︾殑涓瘧鏈紝鎯呬笉鑷錛屼竴闃靛攺鍢樸?</font> </p> <p> <font face="Verdana">Scott Meyers, Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library <br />銆奅ffective STL錛堝獎(jiǎng)鍗扮増錛夈嬶紝涓浗鐢?shù)鍔涘嚭鐗埥C?</font> </p> <p> <font face="Verdana">璇誨畬Scott 鐨勩奅ffective C++銆嬪拰銆奙ore Effective C++銆嬬殑涓瘧鏈箣鍚庯紝鎴戜竴鐩存湡寰呰繖鏈功鐨勪腑鏂囩増銆傛垜浠庢綐鐖辨皯鍏堢敓鐨勪釜浜轟富欏典笂浜?jiǎn)瑙e垘图屼粬鍜屼粬鐨勫悎浣滀紮浼翠奸g箮鏃╁凡瀹屾垚浜?jiǎn)杩欐湰涔︾殑缈昏瘧宸ヤ綔锛屽彲鎯滆嚦浠婂競(jìng)闈笂浠嶄笉寰楄銆傚垢榪愮殑鏄紝鎴戜滑鍙互鐪嬪埌瀹冪殑鍘熺増銆?</font> </p> <p> <font face="Verdana">鏈功鏄嬌鐢⊿TL鐨勭▼搴忓憳蹇呰涔嬩綔銆傚湪榪欐湰涔︿腑錛孲cott鍚戞垜浠榪癝TL瀹瑰櫒鍜岀畻娉曠殑宸ヤ綔鏈哄埗浠ュ強(qiáng)濡備綍浠ユ渶浣蟲(chóng)柟寮忎嬌鐢ㄥ畠浠傚拰Scott鐨勫叾浠栦綔鍝佷竴鏍鳳紝榪欐湰涔︾殑鍐欎綔椋庢牸娓呮櫚銆佺簿紜紝鍏鋒湁鏋佷匠鐨勫彲璇繪с傜湅榪囪繖鏈功浠ュ悗錛屾垜鎯充綘涔熻浼?xì)鍜屾垜浠ュ強(qiáng)鍏朵粬C++紼嬪簭鍛樹(shù)竴鏍蜂駭鐢熻繖鏍風(fēng)殑鎯蟲(chóng)硶錛歋cott浠涔堟椂鍊欎細(xì)鍐欏嚭涓鏈淢ore Effective STL鈥濓紵 </font> </p> <p> <font face="Verdana">鍏充簬STL錛屾垜榪樻彁閱掍綘鐣欏績(jī)Matthew H. Austern鐨勩奊eneric Programming and the STL: Using and Extending the C++ Standard Template Library銆嬶紙銆婃硾鍨嬬紪紼嬩笌STL銆嬶紝涓浗鐢?shù)鍔涘嚭鐗埥C撅級(jí)銆傝繖鏈功鏁e彂鐫嫻撳帤鐨勫闄㈡皵鎭侫ndrew Koenig鍜孊arbara Moo鍦ㄣ夾ccelerated C++: Practical Programming by Example銆嬩竴涔︽湯灝鵑儜閲嶆帹鑽愬彟澶栦袱鏈繘闃跺ソ涔︼紙闄や簡(jiǎn)浠栦滑鑷繁鐨勩奟uminations on C++銆嬪錛夛紝鍏朵腑涓鏈槸TCPL錛屽彟澶栦竴鏈氨鏄湰涔︼紒 </font> </p> <p> <font face="Verdana">緗戠粶緙栫▼ </font> </p> <p> <font face="Verdana">鍦ㄧ綉緇滅紪紼嬫椂浠o紝C++搴旇鎵紨鐫鎬庢牱鐨勮鑹詫紝璁〢CE錛圓daptive Communications Environment錛夋潵鍛婅瘔浣犮?</font> </p> <p> <font face="Verdana">Douglas C. Schmidt, Stephen D. Huston, C++ Network Programming, Volume 1: Mastering Complexity with ACE and Patterns <br />Douglas C. Schmidt, Stephen D. Huston, C++ Network Programming, Volume 2: Systematic Reuse with ACE and Frameworks <br />銆奀++緗戠粶緙栫▼錛屽嵎1錛氳繍鐢ˋCE鍜屾ā寮忔秷闄ゅ鏉傛с嬶紝鍗庝腑縐戞妧澶у鍑虹増紺?<br />銆奀++緗戠粶緙栫▼錛屽嵎2錛氬熀浜?ACE 鍜屾鏋剁殑緋葷粺鍖栧鐢ㄣ嬶紝鐢?shù)瀛愬伐涓氬嚭鐗埥C?</font> </p> <p> <font face="Verdana">閲囩敤C++榪涜浼佷笟綰х綉緇滅紪紼嬶紝鐩墠ACE錛堜互鍙?qiáng)杩欎袱鏈功锛?jí)鏄竴涓煎緱鑰冭檻鐨勯夋嫨銆侫CE鏄竴涓潰鍚戝璞°佽法騫沖彴銆佸紑鏀炬簮鐮佺殑緗戠粶緙栫▼妗嗘灦錛岀洰鏍囧湪浜庢瀯寤洪珮鎬ц兘緗戠粶搴旂敤鍜屼腑闂翠歡銆侱ouglas鏄疉CE鐨勫垱濮嬩漢錛孲tephen鍒欏凡涓篈CE鎻愪緵浜?jiǎn)鏁膀q寸殑鎶鏈敮鎸佸拰欏鵑棶鏈嶅姟錛屼袱浣嶉兘鏄疉CE紺劇兢錛堟槸鐨勶紝ACE鐨勫獎(jiǎng)鍝嶅拰瀹為檯搴旂敤鐨勭▼搴﹀凡緇忓艦鎴愪簡(jiǎn)涓涓ぞ緹わ級(jí)鐨勪笓瀹躲?</font> </p> <p> <font face="Verdana">ACE騫朵笉鍗曞崟琚ぇ瀛﹀拰鐮旂┒鎵榪芥崸錛屽畠宸茬粡琚垚鍔熷湴搴旂敤浜庝笘鐣屼笂鎴愬崈涓婁竾涓晢涓氬簲鐢ㄤ腑銆傚湪鐢?shù)淇°佸畤鑸佸尰鑽拰璐㈢粡棰嗗煙鐨勭綉緇滅郴緇熶腑錛孉CE宸茬粡騫剁戶緇彂鎸ョ潃閲嶈鐨勪綔鐢ㄣ傚鏋滀綘鍑嗗寮鍙戦珮鎬ц兘閫氳緋葷粺錛屼綘搴旇鑰冭檻鑰冭檻榪欎竴姹囬泦涓栫晫欏跺皷涓撳鏅烘収鐨勬垚鏋溿?</font> </p> <p> <font face="Verdana">闄や簡(jiǎn)浣跨敤C++闈㈠悜瀵硅薄璁捐鎶鏈拰妯℃澘絳夐珮綰ц璦鐗規(guī)у錛孉CE榪樿繍鐢ㄤ簡(jiǎn)澶ч噺鐨勬ā寮忋傘奀++緗戠粶緙栫▼銆嬪嵎1鍜屽嵎2騫朵笉浠呬粎鏁欎綘鍏充簬ACE鐨勬柟鏂歸潰闈紝瀹冭繕?shù)細(xì)鏁櫨l欎綘妯″紡鍜岄氱敤妗嗘灦璁捐絳夐珮綰ф妧鏈瓑銆傛墍浠ワ紝浣滀負(fù)涓鍚嶄腑銆侀珮綰++紼嬪簭鍛橈紝鍗充嬌浣犲緢灝戣繘琛屾鍎垮叓緇忕殑C++緗戠粶紼嬪簭璁捐錛岄槄璇昏繖涓ゆ湰涔﹀悓鏍峰彲浠ヤ粠涓彈鐩娿?</font> </p> <p> <font face="Verdana">鏄殑錛屽茍闈炴墍鏈夌綉緇滃簲鐢ㄩ兘瑕佷嬌鐢╓eb鏈嶅姟鍣紙浠ュ強(qiáng)鍏朵粬搴旂敤鏈嶅姟鍣級(jí)鍜岄噸閲忕駭緇勪歡妯″瀷錛屾崲涓濊礬錛屽畠浠垨璁鎬篃鍙互浠庤交閲忕駭鐨凙CE緇勪歡涓幏鐩娿?</font> </p> <p> <font face="Verdana">鏉傞」 </font> </p> <p> <font face="Verdana">浠ヤ笅榪欏嚑鏈功涔嬫墍浠ヨ鍒楀叆鈥滄潅欏光濆崟鍏冿紝鍙槸鍥犱負(fù)鎴戞病鏈夎冭檻鍑烘洿鍚堥傜殑褰掔被鏂規(guī)硶錛屽畠浠拰涓婇潰鐨勪功綾嶄竴鏍鳳紝鍊煎緱涓璇匯?</font> </p> <p> <font face="Verdana">Bruce Eckel, Thinking in C++, Volume 1: Introduction to Standard C++ (2nd Edition) <br />Bruce Eckel, Thinking in C++, Volume 2: Practical Programming (Second Edition) <br />銆奀++緙栫▼鎬濇兂錛堢2鐗堬級(jí)絎?鍗鳳細(xì)鏍囧噯C++瀵煎紩銆嬶紝鏈烘宸ヤ笟鍑虹増紺?<br />銆奀++緙栫▼鎬濇兂錛堣嫳鏂囩増 絎?鐗堬級(jí)銆嬶紝鏈烘宸ヤ笟鍑虹増紺?</font> </p> <p> <font face="Verdana">銆奣hinking in C++銆嬬殑絎?鐗堜簬1996騫磋崳鑾封滆蔣浠剁爺鍙戔濇潅蹇楄瘎閫夌殑鍥句功闇囨捈澶у銆傛渶鏂版帹鍑虹殑絎?鐗堝鍐呭榪涜浜?jiǎn)澶q呮敼鍐欏拰璋冩暣錛屼互鍙嶆槧C++鏍囧噯鍖栧甫鏉ョ殑褰卞搷浠ュ強(qiáng)榪戝嚑騫撮潰鍚戝璞¢鍩熸渶鏂扮爺絀跺拰瀹炶返鎴愭灉銆傗滆緭鍏ヨ緭鍏ユ祦鈥濄佲滃閲嶇戶鎵庫(kù)濄佲滃紓甯稿鐞嗏濆拰鈥滆繍琛屾椂綾誨瀷璇嗗埆鈥濈瓑楂樼駭涓婚榪炲悓C++鏍囧噯鍖栦互鍚庡鍔犵殑涓浜涘唴瀹瑰垯琚斁鍏ョ浜屽嵎涓侭ruce鏄竴鍚嶇粡楠屼赴瀵岀殑C++璁插笀鍜岄【闂紝鍏跺煿璁拰鍐欎綔緇忛獙閮芥槸涓栫晫涓嫻佹按鍑嗭紝浠栫殑浣滃搧姣旈偅浜涒滅帺紲ㄢ濈殑鎶鏈漢鍛樺啓鐨勪笢瑗挎洿鑳藉惛寮曡鑰呫備簨瀹炰笂錛屽湪鍚岀被鍥句功涓紝瀵逛簬澶у鏁拌鑰呰岃█錛岃繖鏈功鐨勫彲璇繪ц瓚呰繃TCPL鍜屻奀++ Primer銆嬨傞『甯︿竴鎻愶紝璁塊棶浣滆呯殑绔欑偣錛屼綘鍙互鍏堢澒絎簩鍗風(fēng)殑椋庨噰銆?</font> </p> <p> <font face="Verdana">Andrew Koenig, Barbara E. Moo, Ruminations on C++: A Decade of Programming Insight and Experience <br />銆奀++娌夋濆綍銆嬶紝浜烘皯閭數(shù)鍑虹増紺?</font> </p> <p> <font face="Verdana">Andrew鏄笘鐣屼笂灞堟寚鍙暟鐨凜++涓撳銆傝繖鏄竴鏈叧浜嶤++緙栫▼鎬濇兂鍜岀▼搴忚璁℃妧鏈岄潪璇█緇嗚妭鐨勮憲浣溿傚鏋滀綘宸茬粡鍏鋒湁涓瀹氱殑鍩虹錛岃繖鏈功灝嗘暀浣犲湪榪涜C++緙栫▼鏃跺簲璇ユ庢牱鎬濊冿紝搴旇濡備綍琛ㄨ揪瑙e喅鏂規(guī)銆傛暣鏈功鎶鏈〃杈鵑忓交錛屾枃瀛楅氫織鏄撴噦銆侭jarne榪欐牱璇勪環(huán)榪欐湰涔︼細(xì)鏈功閬嶅竷鈥淐++鏄粈涔堛丆++鑳藉鍋氫粈涔堚濈殑鐪熺煡鐏艱銆?</font> </p> <p> <font face="Verdana">Stanley B. Lippman, Inside The C++ Object Model <br />銆婃繁搴︽帰绱++瀵硅薄妯″瀷銆嬶紝鍗庝腑縐戞妧澶у鍑虹増紺?<br />銆婃繁搴︽帰绱++瀵硅薄妯″瀷錛堝獎(jiǎng)鍗扮増錛夈嬶紝涓浗鐢?shù)鍔涘嚭鐗埥C?</font> </p> <p> <font face="Verdana">浠庣紪璇戝櫒鐨勮搴﹁瀵烠++鍙互浣夸綘鐭ュ叾鐒跺茍鐭ュ叾鎵浠ョ劧銆傛湰涔︽帰璁ㄤ簡(jiǎn)澶ч噺鐨凜++闈㈠悜瀵硅薄紼嬪簭璁捐鐨勫簳灞傝繍浣滄満鍒訛紝鍖呮嫭鏋勯犲嚱鏁般佸嚱鏁般佷復(fù)鏃跺璞°佺戶鎵褲佽櫄鎷熴佹ā鏉跨殑瀹炰緥鍖栥佸紓甯稿鐞嗐佽繍琛屾湡綾誨瀷璇嗗埆絳夛紝鍙﹀榪樹(shù)粙緇嶄簡(jiǎn)涓浜涘湪瀹炵幇C++瀵硅薄妯″瀷榪囩▼涓仛鍑虹殑鏉冭 鎶樿》銆傚枩嬈㈠埁鏍歸棶搴曠殑C++紼嬪簭鍛樹(shù)笉瑕侀敊榪囪繖鏈功銆?</font> </p> <p> <font face="Verdana">Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented software <br />銆婅璁℃ā寮忥細(xì)鍙鐢ㄩ潰鍚戝璞¤蔣浠剁殑鍩虹銆嬶紝鏈烘宸ヤ笟鍑虹増紺?<br />銆婅璁℃ā寮忥細(xì)鍙鐢ㄩ潰鍚戝璞¤蔣浠剁殑鍩虹錛堣嫳鏂囩増錛夈嬶紝鏈烘宸ヤ笟鍑虹増紺?</font> </p> <p> <font face="Verdana">璁捐鍙鐢ㄧ殑闈㈠悜瀵硅薄鐨勮蔣浠訛紝浣犻渶瑕佹帉鎻¤璁℃ā寮忋傛湰涔﹀茍闈炰笓涓篊++紼嬪簭鍛樿屽啓錛屼絾瀹冮噰鐢ㄤ簡(jiǎn)C++錛堜互鍙?qiáng)Smalltalk錛変綔涓轟富瑕佺ず渚嬭璦錛孋++紼嬪簭鍛樺挨鍏舵槗浜庝粠涓彈鐩娿傚洓浣嶄綔鑰呴兘鏄浗闄呭叕璁ょ殑闈㈠悜瀵硅薄杞歡棰嗗煙涓撳錛屼粬浠皢闈㈠悜瀵硅薄杞歡鐨勮璁$粡楠屼綔涓鴻璁℃ā寮忚緇嗚褰曚笅鏉ャ傝繖鏈功褰卞搷鏄姝ゆ繁榪滐紝浠ヨ嚦浜庡洓浣嶄綔鑰呬互鍙?qiáng)鏈功閮借鏄悼U頒負(fù)GoF錛圙ang of Four錛夈傛湰涔﹀闄㈡皵鎭祿鍘氾紝琛屾枃椋庢牸涓ヨ皚綆媧侊紝铏界劧瀹冧笉濡傛煇浜涜瑙fā寮忕殑涔︾睄鏄撹錛屼絾鐪熸瑕佺簿鍑嗗湴鐞嗚В璁捐妯″紡錛屾湰涔︽槸緇堟瀬鏉冨▉銆傚涔?fàn)璁捐妯″紡锛寴q欐湰涔﹂渶瑕佷竴鑰屽啀銆佸啀鑰屼笁鐨勫拃鍤箋傞『甯︿竴鍙ワ細(xì)璇峰皢璁捐妯″紡鍖栦綔寮鎷撴濈淮鐨勯挜鍖欙紝鍒囪帿鎴愪負(fù)灝侀棴鎬濈淮鐨勬灧閿併?</font> </p> <p> <font face="Verdana">榪樻湁涓浜汣++濂戒功鍊煎緱涓璇伙紝鎭曟澶勬棤娉曚竴涓鍒楀嚭銆備緥濡侸ohn Lakos鐨勮憲浣溿奓arge-Scale C++ Software Design銆嬶紙銆婂ぇ瑙勬āC++紼嬪簭璁捐銆嬶紝涓浗鐢?shù)鍔涘嚭鐗埥C撅級(jí)鍜屼警鎹峰厛鐢熺殑銆奡TL 婧愮爜鍓栨瀽銆嬶紙鍗庝腑縐戞妧澶у鍑虹増紺撅級(jí)絳夈?</font> </p> <p> <font face="Verdana">銆奡TL 婧愮爜鍓栨瀽銆嬫槸涓鏈緢鏈夌壒鑹茬殑涔︼紝浣嗘垜璁や負(fù)瀹冭繕鍙互鏇村ソ銆傛垜涓漢鏈熷緟渚嵎鍏堢敓鑷涓鐗堝彂琛屼互鏉ョ粡榪囧妯℃澘鎶鏈殑娌夋穩(wěn)鍜屽啀鎬濊冧箣鍚庯紝鍐嶅啓涓鏈墫鏋愬緱鏇存繁鍏ャ佹洿閫忓交騫朵笖鏇村叏闈㈢殑鈥滅浜岀増鈥濄傞仐鎲劇殑鏄紝渚嵎鍏堢敓鍦ㄥ畬鎴愩奀++ Templates: The Complete Guide銆嬩竴涔︾殑緲昏瘧鍚庝技涔庡喅瀹氭殏鏃跺憡鍒ā鏉褲佹硾鍨嬬紪紼嬪拰STL棰嗗煙銆?</font> </p> <p> <font face="Verdana">2004騫?鏈?1鏃ヨˉ鍏咃細(xì)鎴戠洰鍓嶆渶甯告煡闃呯殑涓ゆ湰鍙傝冧功鏄奀++鏍囧噯紼嬪簭搴撱嬪拰銆奡TL婧愮爜鍓栨瀽銆嬨傚綋鐒朵簡(jiǎn)錛岃繖涓庢垜騫村唴鐨勫啓浣滆鍒掓湁寰堝ぇ鐨勫叧緋匯?</font> </p> <p> <font face="Verdana">浣跨敤C++鎴愬姛寮鍙戝ぇ瑙勬ā杞歡緋葷粺錛屼笉浠呴渶瑕佸緢濂藉湴鐞嗚В澶у鏁癈++涔︾睄涓榪扮殑閫昏緫璁捐闂錛屾洿闇瑕佹帉鎻°婂ぇ瑙勬āC++紼嬪簭璁捐銆嬩腑璁茶堪鐨勭墿鐞嗚璁℃妧鏈傚綋鐒?dòng)灱寴q欐湰涔︾殑紜湁鐐硅繃鏃朵簡(jiǎn)錛屼笉榪囷紝濡傛灉浣犵殑綺懼姏鍜岄噾閽遍兘姣旇緝瀹界話錛屼拱涓鏈湅鐪嬪茍鏃犲潖澶勩?</font> </p> <p> <font face="Verdana">鑷蟲(chóng)錛屾垜鎯蟲(chóng)湁蹇呰澹版槑涓涓嬶紝鏈変竴浜涳紙濂斤級(jí)涔︽病鏈夊緱鍒版帹鑽愶紝涓昏鍘熷洜濡備笅錛?</font> </p> <p> <font face="Verdana">聽(tīng)聽(tīng)聽(tīng) * 浠ヤ笂榪欎簺涔﹀凡緇忚凍澶熷銆佽凍澶熷ソ浜?jiǎn)銆?<br />聽(tīng)聽(tīng)聽(tīng) * 鎴戜笉浼?xì)鎺ㄨ崘閫氳繃姝e父娓犻亾寰堥毦璐拱鍒扮殑涔︾睄 鈥?涓嶇鏄腑鏂囩増榪樻槸鑻辨枃鐗堛?<br />聽(tīng)聽(tīng)聽(tīng) * 浣滐紙璇戯級(jí)鑰呭悕姘斿ぇ灝忎笉褰卞搷鎴戠殑鎺ㄨ崘銆傛垜浠槸鍦ㄧ湅涔︼紝涓嶆槸鐪嬩漢銆?<br />聽(tīng)聽(tīng)聽(tīng) * 鎴戜笉浼?xì)鎺ㄨ崘鎴戜粠鏉ユ病鏈夌湅杩囩殑涔︺傛垜鑷沖皯瑕佺湅榪囧叾涓殑鏌愪釜鐗堟湰錛堝寘鎷數(shù)瀛愭。錛夈傝繖涓滅湅鈥濓紝涓鑸寚鈥滆鐪熼槄璇燴濓紝涓嶈繃鏈変竴浜涗篃鍙兘綆楁槸鈥滄祻瑙堚濄?</font> </p> <p> <font face="Verdana">緇撹 </font> </p> <p> <font face="Verdana">浣滀負(fù)涓鍚嶆櫘閫氭妧鏈啓璇戣咃紝鎴戞繁鐭ユ妧鏈垱浣滃拰緲昏瘧鐨勮壈杈涳紙鍜屽揩涔愶級(jí)錛屽茍澶氬灝戝皯浜?jiǎn)瑙d竴浜涙湁鍏蟲(chóng)妧鏈功綾嶅垱浣溿佺炕璇戙佸埗浣溿佸嚭鐗堜互鍙?qiáng)甯?jìng)鍦烘帹浠嬭儗鍚庣殑緇嗚妭銆備粖澶╋紝鎴戜笉浼?xì)鍐嶅涓鏈湅涓婂幓宸己浜烘剰鐨勫浘涔︿俊鍙e紑娌熾傜綏鍒楀悓涓鏈功鐨勫悇縐嶇増鏈殑鐢ㄦ剰鍙湪浜庝負(fù)浣犲鎻愪緵涓浜涗俊鎭紝璁╀綘澶氫竴縐嶉夋嫨銆?</font> </p> <p> <font face="Verdana">鍦ㄦ湰鏂囨垚鏂囩殑鍚庢湡錛屾垜緇橞jarne鍐欎簡(jiǎn)涓灝佷俊錛岃鏁欏鏋滀粬鏉ュ啓榪欑瘒鏂囩珷浼?xì)鎬庝箞鍐欍備粬緇欎簡(jiǎn)鎴戠畝鏄庢壖瑕佺殑寤鴻銆傚湪鑲畾浠ヤ笂鍒楀嚭鐨勭粷澶ч儴鍒嗗浘涔﹂兘鏄笘鐣岄《灝栨按騫崇殑C++钁椾綔鐨勫悓鏃訛紝Bjarne鎻愰啋鎴戝埆蹇樹(shù)簡(jiǎn)鍚戜笓瀹剁駭紼嬪簭鍛樻帹鑽愩奣he C++ Standard : Incorporating Technical Corrigendum No. 1銆嬨傝繖鏈功鏄?C++鏍囧噯瑙勮寖鐨勨滃浘涔︾増鈥濓紝Bjarne浜茶嚜涓轟箣浣滃簭銆?</font> </p> <p> <font face="Verdana">Bjarne榪樺弸濂藉湴鎻愰啋鎴戯紝鍦ㄦ垜鐨勬帹鑽愬垪琛ㄤ腑娌℃湁鍝竴鏈湁鍔╀簬C++紼嬪簭鍛樿繘琛學(xué)indows緙栫▼ 鈥?榪欐鏄垜鐨勬湰鎰忋傚湪榪欑瘒鏂囩珷涓紝鎴戝彧鎺ㄨ崘銆佺偣璇勫鉤鍙頒腑绔嬬殑C++钁椾綔錛堢綉緇滅紪紼嬮櫎澶栵級(jí) 鈥?鍜屾搷浣滅郴緇熸棤鍏籌紝鍜岄泦鎴愬紑鍙戠幆澧冩棤鍏籌紝鎴戠敋鑷沖夠鎯沖畠浠拰緙栬瘧鍣ㄤ篃鏃犲叧銆備綘鍙互鏍規(guī)嵁涓氬姟寮鍙戦渶瑕侊紝閫夎鑷繁鍠滅埍鐨勯鍩熺浉鍏崇殑C++涔︾睄銆?</font> </p> <p> <font face="Verdana">璇村埌鈥滅郴緇熸棤鍏熾佸鉤鍙頒腑绔嬧濓紝鎴戜笉鐢卞緱鎯寵搗浜?jiǎn)鈥滄娊璞″眰鈥濈殑姒傚康銆傚紑鍙戝疄闄呭簲鐢ㄧ殑C++紼嬪簭鍛橀氬父宸ヤ綔浜庣壒瀹氭搷浣滅郴緇熴佺壒瀹氬紑鍙戠幆澧冨拰鐗瑰畾涓氬姟棰嗗煙涔嬩腑錛岃屽鏍囧噯C++鍜孋++鏍囧噯搴撴墡瀹炶屾繁鍒葷殑鎶婃彙錛屾棤鐤戞槸浣犲緱浠ュ湪涓嶅悓鐨勬搷浣滅郴緇熴佷笉鍚岀殑寮鍙戠幆澧冧互鍙?qiáng)涓嶅悓鐨勪笟鍔¢鍩熶箣闂淳U墊í椹伴獘鐨勨滄娊璞♀濇湰閽便偮?<br /></font> </p> <img src ="http://www.shnenglu.com/bloodsuck/aggbug/7936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/bloodsuck/" target="_blank">榛勫ぇ浠?/a> 2006-05-31 13:36 <a href="http://www.shnenglu.com/bloodsuck/archive/2006/05/31/7936.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>c++涔︾睄涓婏紙杞澆錛?/title><link>http://www.shnenglu.com/bloodsuck/archive/2006/05/31/7934.html</link><dc:creator>榛勫ぇ浠?/dc:creator><author>榛勫ぇ浠?/author><pubDate>Wed, 31 May 2006 05:35:00 GMT</pubDate><guid>http://www.shnenglu.com/bloodsuck/archive/2006/05/31/7934.html</guid><wfw:comment>http://www.shnenglu.com/bloodsuck/comments/7934.html</wfw:comment><comments>http://www.shnenglu.com/bloodsuck/archive/2006/05/31/7934.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/bloodsuck/comments/commentRss/7934.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/bloodsuck/services/trackbacks/7934.html</trackback:ping><description><![CDATA[ <font face="Verdana">C++鏄竴闂ㄥ箍娉涚敤浜庡伐涓氳蔣浠剁爺鍙戠殑澶у瀷璇█銆傚畠鑷韓鐨勫鏉傛у拰瑙e喅鐜板疄闂鐨勮兘鍔涳紝浣垮叾鏋佸叿瀛︽湳鐮旂┒浠峰煎拰宸ヤ笟浠峰箋傚拰C璇█涓鏍鳳紝C++宸茬粡鍦ㄨ澶氶噸瑕佺殑棰嗗煙澶ц幏鎴愬姛銆?</font> <p> <font face="Verdana">鐒惰岋紝涓涓笉鍙惁璁ょ殑鐜板疄鏄紝鍦ㄤ綆闃剁▼搴忚璁¢鍩燂紝C++鎸ゅ帇鐫C鍚屾椂涔熷湪鎵垮彈鐫C鐨勫己鐑堝弽寮癸紝鑰屽湪楂橀樁紼嬪簭璁捐棰嗗煙錛孞ava鍜孋#姝e湪涓嶆柇铓曢鐫C++鐨勫湴鐩樸備篃璁窩++涓嶤鍚堜負(fù)涓浣撴案榪滈兘鏄竴涓ⅵ鎯籌紝涔熻Java鍜孋#鐨勭媯娼粓灝嗚揩浣緾++鍥炲綊鏈綅 鈥?鍥炲埌瀹冩湁鐫鏍規(guī)湰鎬т紭鍔跨殑寮鍙戦鍩燂細(xì)浣庣駭緋葷粺紼嬪簭璁捐銆侀珮綰уぇ瑙勬ā楂樻ц兘搴旂敤璁捐銆佸祵鍏ュ紡紼嬪簭璁捐浠ュ強(qiáng)鏁板肩瀛﹁綆楃瓑銆傛灉鐪熷姝わ紝鎴戣涓鴻繖鏈皾涓嶆槸涓浠跺ソ浜嬨?</font> </p> <p> <font face="Verdana">C++鍚稿紩濡傛涔嬪鐨勬櫤鍔涙姇鍏ワ紝浠ヨ嚦浜庤繖涓鍩熺殑浼樼浣滃搧錛屽寘鎷噸閲忕駭鐨勮蔣浠朵駭鍝併佺▼搴忓簱浠ュ強(qiáng)涔︾睄絳夛紝鏁頒笉鑳滄暟銆傛枃棰樷淐++紼嬪簭璁捐涔嬪洓涔︿簲緇忊濅竴涓笉澶弗鏍肩殑鍚箟鏄細(xì)C++紼嬪簭璁捐涔嬪洓涔?鈪?浜旂粡銆傛槸鐨勶紝鍦ㄦ湰鏂囷紙鍙?qiáng)鍏朵笅绡囧Q変腑錛屾垜灝嗗垎闂ㄥ埆綾繪帹鑽?0澶氭湰C++濂戒功錛屼綘鍙互鏍規(guī)嵁鑷繁鐨勯渶瑕侀夎銆?</font> </p> <p> <font face="Verdana">TCPL鍜孌&E </font> </p> <p> <font face="Verdana">TCPL鍜孌&E鍒嗗埆鏄奣he C++ Programming Language銆嬪拰銆奣he Design and Evolution of C++銆嬬殑綆縐幫紝鍧囧嚭鑷狟jarne Stroustrup涔嬫墜銆傛垜灝嗗畠浠崟鍒楀嚭鏉ワ紝棣栧厛鏄洜涓築jarne鏄疌++璇█鐨勫垱寤鴻咃紝鐒跺悗鏄洜涓烘瘮鈥滈鍏堚濋偅涓師鍥犳洿閲嶈鐨勫師鍥狅細(xì)榪欎袱鏈功鏄疌++棰嗗煙姣嬪焊緗枒鐨勬澃浣溿傝瀹冧滑鏄疌++璇█鍦g粡錛屽茍涓嶄負(fù)榪囥?</font> </p> <p> <font face="Verdana">Bjarne Stroustrup, The C++ Programming Language (Special 3rd Edition) <br />銆奀++紼嬪簭璁捐璇█錛堢壒鍒増錛夈嬶紝鏈烘宸ヤ笟鍑虹増紺?<br />銆奀++紼嬪簭璁捐璇█錛堢壒鍒増錛夛紙鑻辨枃褰卞嵃鐗堬級(jí)銆嬶紝楂樼瓑鏁欒偛鍑虹増紺?</font> </p> <p> <font face="Verdana">榪勪粖涓烘錛孴CPL鏄櫎浜?jiǎn)C++鏍囧噯鏂囩尞涔嬪鏈鏉冨▉鐨凜++鍙傝冩墜鍐屻傚拰澶у鏁頒漢鐨勭湅娉曚笉澶т竴鏍鳳紝鎴戣涓築jarne鐨勬枃瀛楄璦騫朵笉閫婅壊浜庝粬鎵鍒涘緩鐨勭▼搴忚璦錛岃嚦灝戞垜鍠滄榪欑瀛﹂櫌姘旀伅嫻撳帤鐨勪綔鍝併傛湰涔﹀C++璇█鐨勬弿榪拌疆寤撻矞鏄庛佺洿鎴簡(jiǎn)褰撱傚畠浠嶤++璇█鍒涘緩鑰呯殑瑙掑害鏉ヨ瀵烠++錛岃繖鏄換浣曞埆鐨勪綔鑰呭拰涔︾睄鍋氫笉鍒扮殑 鈥?娌℃湁浠諱綍浜烘瘮Bjarne鑷繁鏇存竻妤氳鎬庝箞鏉ヤ嬌鐢–++銆?</font> </p> <p> <font face="Verdana">榪欐槸涓鏈弗鑲冪殑钁椾綔錛屼互涓侀珮綰++寮鍙戜漢鍛樹(shù)負(fù)鐩爣璇昏呫傚鏋滀綘鏄竴鍚嶆湁緇忛獙鐨凜++紼嬪簭鍛橈紝闇瑕佷簡(jiǎn)瑙f洿鍔犳湰璐ㄧ殑C++鐭ヨ瘑錛屾湰涔︽鏄負(fù)浣犺屽啓銆傚畠涓嶆槸閭g璁╀綘鐪嬩簡(jiǎn)浼?xì)涓嶆柇绐冨枩鐨劄畯涔﹀Q岄渶瑕佺敤蹇?jī)浣撲細(xì)锛屽弽澶嶅拃鍤箋傚湪闃呰榪囩▼涓紝璇風(fēng)壒鍒暀蹇?jī)Bjarne鍏堢敓寮鴻皟浜?jiǎn)浠涔堬紝鍙堝浠涔堜竴璇甫榪囥傛垜涓漢姣旇緝鍠滄榪欐湰涔︾殑絎洓閮ㄥ垎鈥滀嬌鐢–++鍋氳璁♀濓紝榪欐牱鐨勫唴瀹瑰湪綾諱技鐨勭▼搴忚璁¤璦涔︾睄涓緢闅劇湅鍒?鈥?鎴戠敋鑷寵涓築jarne搴旇灝嗚繖閮ㄥ垎鐙珛鍑烘潵鍗曠嫭鍐欎竴鏈功銆?</font> </p> <p> <font face="Verdana">Bjarne Stroustrup, The Design and Evolution of C++ <br />銆奀++璇█鐨勮璁″拰婕斿寲銆嬶紝鏈烘宸ヤ笟鍑虹増紺?<br />銆奀++璇█鐨勮璁″拰婕斿寲錛堣嫳鏂囩増錛夈嬶紝鏈烘宸ヤ笟鍑虹増紺?</font> </p> <p> <font face="Verdana">D&E鏄竴鏈叧浜嶤++璇█璁捐鍘熺悊銆佽璁″喅絳栧拰璁捐鍝插鐨勪笓钁椼傚畠娓呮櫚鍦板洖絳斾簡(jiǎn)C++涓轟粈涔堜細(xì)鎴愪負(fù)浠婂ぉ榪欎釜鏍峰瓙鑰屾病鏈夊彉鎴愬彟澶栦竴縐嶈璦銆備綔涓篊++璇█鐨勫垱寤鴻咃紝Bjarne娣嬫紦灝借嚧鍦板睍紺轟簡(jiǎn)浠栫嫭鍒拌屾繁鍒葷殑瑙佽В銆傞櫎浜?jiǎn)骞垮彈璧炶獕鐨勮瑷鐗規(guī)у錛孊jarne娌℃湁鍥為伩閭d簺寮曡搗浜夎鐨勭敋鑷寵鎷掔粷鐨凜++鐗規(guī)э紝浠栦竴涓緇欏嚭浜?jiǎn)閫昏緫涓ュ瘑銆佷護(hù)浜轟俊鏈嶇殑瑙i噴銆傚唴瀹規(guī)兜鐩朇++鐨勫彶鍓嶆椂浠c佸甫綾葷殑C銆丆++鐨勮璁¤鍒欍佹爣鍑嗗寲銆佸簱銆佸唴瀛樼鐞嗐佸閲嶇戶鎵褲佹ā鏉跨瓑錛屽鍖呮嫭寮傚父鏈哄埗銆佽繍琛屾椂綾誨瀷淇℃伅鍜屽悕瀛楃┖闂村湪鍐呯殑閲嶈鐨勬柊鐗規(guī)ч兘鍒嗗埆榪涜浜?jiǎn)娣卞叆鎺㈣銆傛瘡涓鍚岰++紼嬪簭鍛橀兘搴旇鍙互浠嶣jarne鐨勯槓閲婁腑鍔犳繁瀵規(guī)墜涓繖闂ㄨ璦鐨勮璇嗐?</font> </p> <p> <font face="Verdana">闇瑕佸啀嬈℃彁閱掔殑鏄紝榪欎袱鏈功鐭ヨ瘑嫻撶緝錛屼俊鎭噺鏋佸ぇ錛岃涓嶈閿欒繃Bjarne姣忎竴鍙ョ湅浼兼極涓嶇粡鎰忕殑璇濄?</font> </p> <p> <font face="Verdana">鍏ラ棬鏁欑▼ </font> </p> <p> <font face="Verdana">瀛︿範(fàn)浠諱綍涓闂ㄨ璦閮介渶瑕佷竴涓粠鍏ラ棬鍒扮簿閫氥佷粠鏂版墜鍒伴珮鎵嬪驚搴忔笎榪涚殑榪囩▼銆備笉榪囷紝瀵逛簬涓涓墍璋撶殑鏂版墜鑰岃█錛岀┒绔熸槸涓涓畬瀹屽叏鍏ㄧ殑鏂版墜錛岃繕鏄竴涓啛鎮(zhèn)夋煇縐嶅埆鐨勮璦鐨勨滄柊鎵嬧濓紝鐢氳嚦鏄湪鏌愮璇█紼嬪簭璁捐棰嗗煙宸茬粡棰囨湁寤烘爲(wèi)鐨勯珮鎵嬶紝寰堥毦涓姒傝岃錛熶笉鍚岀殑C++鏂版墜闇瑕佷笉鍚岀殑鍏ラ棬涔︾睄銆?</font> </p> <p> <font face="Verdana">Andrew Koenig, Barbara E. Moo, Accelerated C++: Practical Programming by Example <br />銆夾ccelerated C++涓枃鐗堛嬶紝涓浗鐢?shù)鍔涘嚭鐗埥C?</font> </p> <p> <font face="Verdana">鍜屽競(jìng)闈笂澶у鏁癈++鏁欑▼涓嶅悓錛屾湰涔︿笉鏄粠鈥淐++涓殑C鈥濆紑濮嬭瑙o紝鑰屾槸濮嬩簬鍦伴亾鐨凜++鐗規(guī)с備粠涓寮濮嬪氨浣跨敤鏍囧噯搴撴潵鍐欑▼搴忥紝闅忕潃璁茶堪鐨勯愭笎娣卞叆錛屽張涓涓瑙i噴榪欎簺鏍囧噯搴撶粍浠舵墍渚濊禆鐨勫熀紜姒傚康銆傚彟澶栵紝鍜屽叾浠朇++鏁欐潗涓嶅悓鐨勬槸錛岃繖鏈功浠ュ疄渚嬫媺鍔ㄨ璦鍜屾爣鍑嗗簱鐨勮瑙o紝瀵瑰悗涓よ呯殑璁茶В鏄負(fù)浜?jiǎn)缁欏疄渚嫿E嬪簭鎻愪緵鏀寔錛岃屼笉鏄儚緇濆ぇ澶氭暟C++鏁欐潗閭f牱錛屼緥瀛愬彧鏄敤浣滄紨紺鴻璦鐗規(guī)у拰鏍囧噯搴撶敤娉曠殑杈呭姪宸ュ叿銆?</font> </p> <p> <font face="Verdana">浣滆呭湪C++棰嗗煙鐨勭紪紼嬪疄璺點(diǎn)佹暀鑲插煿璁互鍙?qiáng)鎶鏈啓浣滄柟闈㈤兘鏄笘鐣屼竴嫻佹按鍑嗐傛垜鍠滄榪欑澶ч噺浣跨敤鏍囧噯搴撳拰C++璇█鍘熺敓鐗規(guī)х殑娓呮柊鐨勫啓浣滈鏍箋傚湪榪欐湰鏁欐潗闈㈠墠錛屽嚑涔庤縿浠婁負(fù)姝㈢殑鎵鏈塁++鏁欐潗閮介化鐒跺け鑹叉垨鏄懼緱榪囨椂銆傚敖綆¤繖鏈暀鏉愪篃璁稿浜庡浗鍐呯殑楂樻牎鏁欒偛鏉ヨ鏈変簺鍓嶅崼錛屼笉榪囨垜浠嶇劧鏋佸姏鍚戞垜鐨勫悓琛屼滑鎺ㄨ崘銆傞『甯︿竴鎻愶紝鍦˙jarne鍜屾垜鏈榪戠殑涓灝侀氫俊閲岋紝浠栬繖鏍瘋瘎浠鋒湰涔︼細(xì)瀵逛簬鏈夌粡楠岀殑紼嬪簭鍛樺涔?fàn)C++鑰岃█錛岃繖鏈功鍙兘鏄笘鐣屼笂鏈濂界殑涓鏈?</font> </p> <p> <font face="Verdana">Stanley B.Lippman, Josee Lajoie, C++ Primer (3rd Edition) <br />銆奀++ Primer (3RD)涓枃鐗堛嬶紝涓浗鐢?shù)鍔涘嚭鐗埥C?</font> </p> <p> <font face="Verdana">榪欐湰涔︾殑鍚嶅瓧澶氬皯鏈夌偣璁╀漢璇В銆傚敖綆′綔鑰呭0縐拌繖鏈功鏄負(fù)C++鏂版墜鑰屽啓錛屼絾鏃犺鏄畠鐨勫帤搴﹁繕鏄瑙g殑娣卞害閮芥毚闇蹭簡(jiǎn)浼間箮騫墮潪濡傛銆備篃璁歌瀹冩槸涓鏈滀粠鍏ラ棬鍒扮簿閫氣濈殑C++鏁欑▼浼?xì)鏇村悎閫備竴浜涖傛垜涓漢璁や負(fù)瀹冨茍涓嶉傚悎瀹屽叏涓嶆噦C++鐨勫垵瀛﹁?鈥?鍦ㄩ槄璇昏繖鏈功涔嬪墠錛屼綘鑷沖皯搴旇鍏堟湁閭d箞涓鐐笴鎴朇++鐨勮儗鏅煡璇嗭紝鎴栬呰嚦灝戣鍏鋒湁涓浜涘叾浠栬璦鐨勭紪紼嬬粡楠屻?</font> </p> <p> <font face="Verdana">灝界榪欐湰涔︾渷鐣ヤ簡(jiǎn)涓浜涢珮綰++鐗規(guī)х殑璁ㄨ錛屼絾浠嶇劧鍙互縐板緱涓婃槸榪勪粖涓烘鏈鍏ㄩ潰鐨凜++瀛︿範(fàn)鏁欑▼銆備簨瀹炰笂錛屽鏋滀竴鍚岰++鍒濆鑰呰兘澶熸墡鎵庡疄瀹炲湴璇誨畬鏈功騫跺鐓с奀++ Primer Answer Book銆嬪畬鎴愬叏閮ㄤ範(fàn)棰樼殑璇濓紝浠栫殑姘村鉤鑲畾鍙互榪涘叆鑱屼笟C++紼嬪簭鍛樼殑琛屽垪銆傛垜涓漢璁や負(fù)錛屽嵆浣夸綘宸茬粡鎷ユ湁浜?jiǎn)TCPL錛岃繖鏈功渚濈劧鏈夋嫢鏈夌殑浠峰鹼紝鍥犱負(fù)鍦ㄨ澶氭柟闈㈠畠姣擳CPL鏉ュ緱鏇磋緇嗐佹洿鏄撴噦銆?</font> </p> <p> <font face="Verdana">Stanley B. Lippman, Essential C++ <br />銆奅ssential C++涓枃鐗堛嬶紝鍗庝腑縐戞妧澶у鍑虹増紺?<br />銆奅ssential C++錛堝獎(jiǎng)鍗扮増錛夈嬶紝涓浗鐢?shù)鍔涘嚭鐗埥C?</font> </p> <p> <font face="Verdana">鍙互涓嶅お涓ユ牸鍦拌涓鴻繖鏈功鏄奀++ Primer銆嬬殑綺劇畝鐗堛傛湰涔︿竴涓璁茶堪浜?jiǎn)C++涓渶鍏蜂唬琛ㄦх殑涓婚錛屽寘鎷繃紼嬪紡緙栫▼銆佹硾鍨嬬紪紼嬨佸熀浜庡璞$紪紼嬨侀潰鍚戝璞$紪紼嬨佹ā鏉跨紪紼嬩互鍙?qiáng)寮傚父澶勭悊绛夈係tanley灝嗛棬妲涜皟浣庡埌鈥滃叿鏈夊叾浠栬璦紼嬪簭璁捐緇忛獙鈥濈殑C++鏂版墜鎵鑳芥帴鍙楃殑鏈鍩烘湰鐨勫眰嬈★紝浣夸粬浠兘澶熻繀閫熷紑濮嬩嬌鐢–++緙栫▼鑰屽張鍏嶄簬闃呰銆奀++ Primer銆嬮偅鏍風(fēng)殑澶ч儴澶淬傚畠浠ュ疄渚嬪紩瀵煎涔?fàn)锛屽姏鍥句娇璇昏呭湪鏈鐭殑鏃墮棿鍐呮妸鎻++鐨勭簿綺廣?</font> </p> <p> <font face="Verdana">涔熻鎹竴涓漢鏉ユ榪癈++緙栫▼鑼冨瀷錛坧aradigm錛夌殑鏂規(guī)柟闈㈤潰闇瑕佸ソ鍑犵櫨欏墊墠鑳借娓呮錛屼絾榪欐湰灝忎功涓嶅彲鎬濊鍦板仛鍒頒簡(jiǎn)榪欎竴鐐廣傛垜涓漢闈炲父鍠滄榪欑婊℃槸鎶鏈佺畝鏄庢壖瑕佸茍涓斺滄湁璇濆ソ濂借鈥濈殑涔︺傝繖鏈功鍚屾牱鍏鋒湁涓涓槑鏄劇殑椋庢牸錛氭墍鏈夌▼搴忎緥瀛愬叏閮ㄩ噰鐢ㄦ爣鍑嗗簱緇勪歡錛岃浜鴻崇洰涓鏂般?</font> </p> <p> <font face="Verdana">浠ヤ笂涓夋湰涔﹂兘涓嶆槸涓轟簡(jiǎn)瀹屽畬鍏ㄥ叏鐨勭紪紼嬫柊鎵嬭屽啓銆傚畬鍏ㄧ殑C++緙栫▼鏂版墜鍙互闃呰Francis Glassborow鐨勬柊涔︼紙灝氭湭鍑虹増錛夛細(xì)銆夾 Beginners Introduction to Computer Programming : You Can Do It!銆嬨傝繖涔熸槸Bjarne鐨勬帹鑽愩侳rancis Glassborow鏄疉CCU涓誨腑錛屽騫存潵浠栧鍑犱箮姣忎竴鏈珻++緇忓吀鍚嶈憲璇勫ご璁鴻凍錛屼粬鑷繁鐨勮繖涓鏈嚜鐒朵細(xì)寮曡搗C++紺劇兢鐨勬瀬澶у叴瓚c?</font> </p> <p> <font face="Verdana">楂樻晥銆佸仴澹紪紼?</font> </p> <p> <font face="Verdana">涓ゅ勾鍓嶆垜鍦ㄨ礋璐d竴涓渷綰х數(shù)鍔涜皟搴︾郴緇熼」鐩椂緙栧啓浜?jiǎn)涓涓綉鍏崇▼搴忥紝瀹冧粠SCADA緋葷粺鑾峰彇鐢?shù)鍔涘疄鏃朵俊鎭傞氳鎺ュ彛閲囩敤浜?jiǎn)涓嶅父鐢ㄧ殑鏁版嵁搴撶洿杩炴柟寮忓Q堣繖涓綉鍏崇▼搴忎竴绔繛鎺QL Server 6.5錛屽彟涓绔繛鎺ralce 8.1.6錛夈傜敱浜庡疄鏃舵祴鐐硅繎涓囷紝姣忔灝嗗叏閮ㄥ彇鏍鋒洿鏂版垨鎻掑叆涓閬嶆樉鐒舵槸浣庢晥鐨勩傛垜鍦ㄧ綉鍏崇▼搴忛噷寤轟簡(jiǎn)涓涓唴瀛樺簱錛岃幏鍙栧埌鐨勬暟鎹鍏堝湪鍏朵腑榪涜姣旇緝錛岀劧鍚庡喅瀹氭槸鍚︽洿鏂扮墿鐞嗘暟鎹簱錛堝悓鏃惰繕鍋氫簡(jiǎn)鍒殑鏇村鏉傜殑浜嬫儏鈥︹︼級(jí)錛屼粠鑰屽湪鏁堢巼鍜岃祫婧愬崰鐢ㄤ袱鏂歸潰杈懼埌浜?jiǎn)棰勬湡鏁堟灉銆?</font> </p> <p> <font face="Verdana">榪欎釜紼嬪簭涓鐩磋繍琛屽緱寰堝ソ錛屼絾鍦ㄧ寮鐜板満涔嬪悗鐨勬煇涓澶╋紝緋葷粺綆$悊鍛樻墦鏉ョ數(shù)璇濓紝璇村ぇ姒傚洜涓虹綉緇滄晠闅滅瓑鍘熷洜錛屾湁鏃惰繖涓綉鍏崇▼搴忎細(xì)宕╂簝鎺?鈥?瀹冭嚜宸卞穿鎺変篃灝辯艦浜?jiǎn)锛岄棶棰樻槸瀹儤q樹(shù)細(xì)鎶奧indows 2000 Advanced Server鎼炴垚鈥滆摑灞忊濓紒鍧︾櫧鍦拌錛屾垜榪樹(shù)粠鏉ユ病鐪嬭繃鍝釜闈炶搫鎰忕殑紼嬪簭鏈夎繖涓滆兘鑰愨濄傜敱浜庡綋鏃舵蹇欎簬鍙﹀涓涓ぇ欏圭洰錛屾棤娉曞幓鐜板満璋冭瘯錛屾渶鍚庡彧鏈夊嚟緇忛獙瀵瑰唴瀛樺簱浠g爜灝忓績(jī)緲肩考鍦板皝瑁呬互寮傚父澶勭悊浠g爜錛堝悓鏃朵篃鍋氫簡(jiǎn)涓浜涘埆鐨勪慨鏀光︹︼級(jí)銆傝繖鏍鳳紝铏界劧娌℃湁褰誨簳瑙e喅闂錛屼絾紼嬪簭緇堢┒涓嶅啀姝誨緱閭d箞闅劇湅浜?jiǎn)銆?</font> </p> <p> <font face="Verdana">鍦ㄨ繖鍎胯榪欎箞涓孌佃姳緄湁浠涔堟剰鎬濆憿錛堝綋鍒濅負(fù)閭d釜鍙曠殑bug鏈濇濇毊鎯蟲(chóng)椂鎴戝彲涓嶈涓鴻繖鏄竴涓滆姳緄濓級(jí)錛熸垜鎯寵鐨勬槸錛屽浜庝換浣曡蔣浠惰岃█錛岀寮寮哄仴錛屾晥鐜囦篃灝辨棤浠庤皥璧楓傝屽浜嶤++紼嬪簭鍛樻潵璇達(dá)紝涔熻緙栧啓涓涓珮鏁堢殑紼嬪簭騫朵笉闅撅紝浣嗚緙栧啓涓涓渶瑕? 鈪?24灝忔椂鎸佺畫(huà)榪愯鐨勬湇鍔$杞歡灝變笉鏄偅涔堝鏄撲簡(jiǎn)錛岄渶瑕佽冭檻璁稿鍥犵礌錛屾湁鏃惰繖浜涘洜绱犵敋鑷寵繙榪滆秴鍑篊++璇█鍜屽紑鍙戝伐鍏風(fēng)殑鏈韓銆備綔涓轟竴鍚嶅紑鍙戝疄闄呴」鐩蔣浠剁殑紼嬪簭鍛橈紝騫墮潪闈炲緱鑷繁紕伴拤瀛愭墠鑳界Н绱粡楠岋紝鍙鎴戜滑瓚沖铏氬績(jī)錛屽埆浜虹殑緇忛獙寰寰閮芥槸鎴戜滑寰堝ソ鐨勫熼壌銆傞壌浜庢錛屾垜鎺ㄨ崘浠ヤ笅鍑犳湰涔︿緵浣犻夎錛屽畠浠彲浠ヨ浣犱粠寮哄仴鍜屾晥鐜囦袱鏂歸潰鍙楃泭錛堝綋鐒朵簡(jiǎn)錛屽畠浠兜鐩栫殑鍐呭榪滀笉闄愪簬寮傚父澶勭悊J錛夈?</font> </p> <p> <font face="Verdana">Scott Meyers, Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) <br />Scott Meyers, More Effective C++: 35 New Ways to Improve Your Programs and Designs <br />銆奅ffective C++涓枃鐗堛嬶紝鍗庝腑縐戞妧澶у鍑虹増紺?<br />銆奙ore Effective C++涓枃鐗堛嬶紝涓浗鐢?shù)鍔涘嚭鐗埥C?<br />銆奅ffective C++錛堝獎(jiǎng)鍗扮増錛夈嬶紝涓浗鐢?shù)鍔涘嚭鐗埥C?</font> </p> <p> <font face="Verdana">濡傛灉璇淬奅ffective C++銆嬩富瑕佽璁篊++涓竴浜涚浉瀵瑰熀紜鐨勬蹇靛拰鎶宸х殑璇濓紝閭d箞銆奙ore Effective C++銆嬪垯鐫閲嶆帰璁ㄤ簡(jiǎn)鍖呮嫭寮傚父澶勭悊鍦ㄥ唴鐨勪竴緋誨垪楂樼駭鎶鏈備笌鍓嶈呯浉姣旓紝鍚庤呭叿鏈変袱澶т富瑕佸尯鍒細(xì)鍏朵竴錛屽畠鍖呭惈寰堝鏃舵柊鐨勬爣鍑咰++鐨勫唴瀹癸紱絎簩錛屽畠璁ㄨ鐨勪富棰樺懼悜浜庘滄垬鐣ュ寲鈥濊岄潪鈥滄垬鏈寲鈥濓紝騫朵笖璁ㄨ寰楁洿娣卞叆銆佹洿褰誨簳銆傚挨鍏舵槸瀵硅櫄鏋愭瀯鍑芥暟銆佹櫤鑳芥寚閽堛佸紩鐢ㄨ鏁頒互鍙?qiáng)浠g悊绫诲Q坧roxy classe錛夌瓑鎶鏈拰妯″紡璁鴻堪鐨勬繁鍏ョ▼搴︼紝璁╀漢寰堥毦鎯寵薄鏄嚭鐜頒簬榪欐牱鐨勪竴鏈皬涔︿箣涓?</font> </p> <p> <font face="Verdana">娓稿垉鏈変綑鐨勬妧鏈紝楂樿秴鐨勫啓浣滄妧宸э紝Scott鏃犵枒鏄笘鐣屼笂鏈浼樼鐨凜++鎶鏈綔瀹朵箣涓銆傚湪綆媧併佹竻鏅般佹槗璇葷瓑鏂歸潰錛岃繖涓ゆ湰涔﹂兘鍗撳皵涓嶇兢銆傛諱箣錛孲cott鎻愪緵鐨勮繖85涓彲浠ユ敼鍠勭紪紼嬫妧鏈拰璁捐鎬濈淮鐨勬柟娉曪紝閮芥槸涓侀珮綰++紼嬪簭鍛樺繀澶囩殑鎶鑳姐傛垜寮虹儓鎺ㄨ崘榪欎袱鏈功錛堝疄闄呬笂榪樻湁涓鏈紝紼嶅悗灝變細(xì)鐪嬪埌錛夈?</font> </p> <p> <font face="Verdana">Herb Sutter, Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions <br />Herb Sutter, More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions <br />銆奅xceptional C++涓枃鐗堛嬶紝涓浗鐢?shù)鍔涘嚭鐗埥C?<br />銆奙ore Exceptional C++涓枃鐗堛嬶紝鍗庝腑縐戞妧澶у鍑虹増紺?</font> </p> <p> <font face="Verdana">浣犺嚜璁や負(fù)鏄竴鍚岰++璇█涓撳鍚楋紵璇諱竴璇籌SO C++鏍囧噯濮斿憳?shù)細(xì)绉樹(shù)功闀跨殑杩欎袱鏈功鍐嶅洖绛斻傚湪榪欎袱鏈功涓紝Herb閲囩敤浜?jiǎn)鈥滈棶絳斺濈殑鏂瑰紡鎸囧浣犲涔?fàn)C++璇█鐗規(guī)с傚浜庢瘡涓涓笓棰橈紝Herb棣栧厛鍚堢悊鍦拌鎯沖嚭浣犵殑鐤戦棶鍜屽洶鎯戯紝鎺ョ潃鍙堢寽嫻嬪嚭浣犲崄鏈夊叓涔?jié)鏄敊璇殑瑙={旓紝鐒跺悗緇欎綘浠ユ寚鐐瑰茍鎻愬嚭鏈浣寵В鍐蟲(chóng)柟妗堬紝鏈鍚庤繕褰掔撼鍑?guó)櫑e喅绫讳技闂鐨勬櫘閫傛у師鍒欍?</font> </p> <p> <font face="Verdana">榪欎袱鏈功鏄吀鍨嬬殑娣辯┒C++璇█緇嗚妭鐨勮憲浣滐紝寰堣杽錛屼絾鍐呭瀵嗛泦錛岃繙榪滆秴榪嘢cott鐨勯偅涓ゆ湰涔︼紝璇昏搗鏉ュ緢璐硅剳絳?鈥?鎴戜釜浜鴻涓哄畠浠姣擲cott鐨勪功闅炬噦寰楀銆傝嫢瑕佺爺涔?fàn)杩欒杽钖勭殑涓ゆ湰涔︽墍鍖呭惈鐨勭煡璇嗭紝鑷沖皯闇瑕佽姳璐規(guī)暟鏈堢殑鏃墮棿錛侊紙鍦⊿cott鐨勮崘搴忎腑錛屼粬鍧﹂檲涓嶆涓嬈¢櫡鍏otW闂鐨勯櫡闃憋紝浣犲簲璇ョ煡閬撹繖鎰忓懗鐫浠涔堬級(jí)瀵逛簬璇█緇嗚妭鐨勬繁絀舵湁浠涔堝ソ澶勫憿錛熷敖綆″湪澶у鏁版儏鍐典笅錛屾垜浠笉蹇呭叧蹇?jī)C++浠g爜騫曞悗鐨勫姩浣滐紝鐒惰屽綋鎴戜滑涓嶅緱涓嶅叧蹇?jī)鏃跺Q岃繖涓ゆ湰涔﹀彲浠ヤ負(fù)鎴戜滑鎻愪緵寰堝ソ鐨勭嚎绱紝鍥犱負(fù)瀹冧滑鎻ず浜?jiǎn)C++璇█涓井濡欒屽張鑷沖叧閲嶈鐨勪笢瑗褲?</font> </p> <p> <font face="Verdana">Stephen C. Dewhurst, C++ Gotchas: Avoiding Common Problems in Coding and Design <br />銆奀++紼嬪簭璁捐闄烽槺銆嬶紝涓浗闈掑勾鍑虹増紺?</font> </p> <p> <font face="Verdana">Stephen鐨勭悊璁虹礌鍏誨拰瀹炶返緇忛獙娉ㄥ畾榪欐槸涓鏈煎緱涓璇葷殑濂戒功銆係tephen鏇劇粡鏄礉灝?dāng)瀹為獙瀹や腑绗竴鎵笴++浣跨敤鑰呫備粬宸茬粡浣跨敤C++鎴愬姛瑙e喅浜?jiǎn)鍖呮嫭缂栬瘧鍣ㄣ佽瘉鍒鎬氦鏄撱佺數(shù)瀛愬晢鍔′互鍙?qiáng)宓屽叆寮従p葷粺絳夐鍩熶腑鐨勯棶棰樸傛湰涔︽眹闆嗕簡(jiǎn)浣滆呮潵鑷紑鍙戜竴綰跨殑99鏉$紪紼嬬湡鐭ョ伡瑙侊紝媧炴?zhèn)夊畠浠Q屼綘鍙互閬垮厤鍑犱箮鎵鏈夊父瑙佺殑C++璁捐鍜岀紪紼嬮棶棰樸?</font> </p> <p> <font face="Verdana">鎴戠敋鑷寵涓猴紝瀵逛簬C++緙栫▼鑿滈笩鑰岃█錛岄槄璇昏繖鏈功浼?xì)姣旈槄璇籗cott鍜孒erb鐨勪功鏇磋兘杞繪澗鑰岀珛绔胯褰卞湴鑾峰緱鏇村ぇ鐨勬彁楂樸傛垜涓漢寰堝枩嬈㈣繖鏈功鐨勫啓浣滈鏍?鈥?Stephen鐨勮澶氳鐐圭湅浼兼瀬绔嵈鏃犲彲杈╅┏銆傚綋鐒朵簡(jiǎn)錛岃繖縐嶈嚜淇★紙浠ュ強(qiáng)鍐峰菇榛橈級(jí)鏉ヨ嚜浜庝綔鑰呮繁鍘氱殑鎶鏈礌鍏伙紝鑰岄潪鑷ぇ鐨勫亸鎵с?</font> </p> <p> <font face="Verdana">闄や簡(jiǎn)涓婇潰鎺ㄨ崘鐨勪功綾嶅錛孌ov Bulka鍜?David Mayhew鍚堣憲鐨勩奅fficient C++: Performance Programming Techniques銆嬶紙銆婃彁楂楥++鎬ц兘鐨勭紪紼嬫妧鏈嬶紝娓呭崕澶у鍑虹増紺撅級(jí)涔熷煎緱涓鐪嬨傝繖鏈秴钖勫皬涔﹁仛鐒︿簬楂樻ц兘C++搴旂敤紼嬪簭寮鍙戙備袱浣嶄綔鑰呴兘鏄疘BM杞歡涓撳錛岄兘宸ヤ綔浜庡鎬ц兘瑕佹眰鏋侀珮鐨勭郴緇熸瀯寤洪鍩燂紝鏈功鏄粬浠殑緇忛獙涔嬭皥銆備篃鏈変漢涓嶅枩嬈㈣繖鏈功錛屽洜涓哄畠鑺變簡(jiǎn)涓嶅皯鐨勭瘒騫呰榪板拰C++鏃犲叧鐨勪笢瑗匡紝鎴戝嵈鎭版伆鍥犱負(fù)榪欎竴鐐硅屽榪欐湰涔︿駭鐢熷ソ鎰燂紝姝f槸榪欎簺涓滆タ璁╂垜寮闃斾簡(jiǎn)鐪肩晫銆?</font> </p> <p> <font face="Verdana">妯℃澘鍜屾硾鍨嬬紪紼?</font> </p> <p> <font face="Verdana">妯℃澘鍜屽熀浜庢ā鏉跨殑娉涘瀷緙栫▼鏃犵枒鏄綋浠婂彂灞曟渶媧昏穬鐨凜++紼嬪簭璁捐鎶鏈傛ā鏉跨殑絎竴涓潻鍛芥х殑搴旂敤鏄疭TL錛屽畠?yōu)畣妯℃澘鎶鏈湪娉涘瀷瀹瑰櫒鍜岀畻娉曢鍩熺殑榪愮敤灞曠幇寰楁穻婕撳敖鑷達(dá)紝鑰孊oost銆丩oki絳夌幇浠g▼搴忓簱鍒欏皢妯℃澘鎶鏈殑娼滆兘涓嶆柇鍙戞尌鍒版瀬鑷淬傚湪妯℃澘鍜屾硾鍨嬬紪紼嬮鍩燂紝鎴戞帹鑽愪互涓嬩袱鏈噸閲忕駭钁椾綔錛?</font> </p> <p> <font face="Verdana">David Vandevoorde, Nicolai M. Josuttis, C++ Templates: The Complete Guide <br />銆奀++ Templates鍏ㄨ錛堢箒浣撶増錛夈嬶紝鍙版咕紕佸嘲璧勮鑲′喚鏈夐檺鍏徃 <br />銆奀++ Templates鍏ㄨ錛堢畝浣撶増錛夈嬶紝浜烘皯閭數(shù)鍑虹増紺?</font> </p> <p> <font face="Verdana">鏈変竴縐嶈佸鐨勮禐緹庝竴鏈功鐨勬墜娉曪紝澶ц嚧鏄滄病鏈夌湅榪囪繖鏈功錛屼綘灝辨庝箞鎬庝箞鍦扳濓紝榪欓噷闈㈠線寰澶稿紶鐨勬垚鍒嗗眳澶氥備笉榪囷紝鍊樿嫢璇粹滄病鏈夌湅榪囥奀++ Templates: The Complete Guide銆嬶紝浣犲氨涓嶅彲鑳界簿閫欳++妯℃澘緙栫▼鈥濓紝閭d箞榪欎釜璁烘柇瀵逛簬涓栫晫涓婄粷澶у鏁癈++紼嬪簭鍛樻潵璇存槸鎴愮珛鐨勩?</font> </p> <p> <font face="Verdana">榪欐湰涔﹀~琛ヤ簡(jiǎn)C++妯℃澘涔︾睄棰嗗煙鐢辨潵宸蹭箙鐨勭┖鐧姐傛鍓嶏紝涓婃湁銆奙odern C++ Design銆嬭繖鏍風(fēng)殑涓撴敞浜庢ā鏉塊珮綰х紪紼嬫妧鏈拰娉涘瀷妯″紡鐨勮憲浣滐紝涓嬫湁銆奣he C++ Standard Library銆嬭繖鏍風(fēng)殑閽堝鐗瑰畾妯℃澘妗嗘灦鍜岀粍浠剁殑浣跨敤鎸囧崡銆傜劧鑰岋紝鍋囧瀵規(guī)ā鏉挎満鍒剁己涔忔繁鍏ョ殑鐞嗚В錛屼綘灝卞緢闅鋸滀笂涓嬧濊嚜濡傘傞壌浜庢錛屾垜鍚戞瘡涓浣嶆復(fù)鏈涢忓交鐞嗚ВC++妯℃澘鎶鏈殑鏈嬪弸鎺ㄨ崘榪欐湰涔︺?</font> </p> <p> <font face="Verdana">榪欐湰涔﹀湪鍐呭湴銆佸彴婀懼悇鏈変竴涓瘧鏈紝浣嗗嚭鑷笉鍚岀殑璇戣呬箣鎵嬨傚綋浣犵湅鍒拌繖綃囨枃绔犳椂錛屼袱涓瘧鏈簲璇ラ兘宸茬粡涓婂競(jìng)錛屽浜庤鑰呮潵璇村綋鐒朵篃灝卞浜?jiǎn)涓縐嶉夋嫨銆備警鎹峰厛鐢熶釜浜虹綉绔欎笂寮鏀句簡(jiǎn)綣佷綋璇戞湰澶ч儴鍒嗙珷鑺傦紝涓嶅Θ鍏堢澒涓哄揩銆?</font> </p> <p> <font face="Verdana">Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design Patterns Applied <br />銆奀++璁捐鏂版濈淮錛氭硾鍨嬬紪紼嬩笌璁捐妯″紡涔嬪簲鐢ㄣ嬶紝鍗庝腑縐戞妧澶у鍑虹増紺?<br />銆奀++璁捐鏂版濈淮錛堝獎(jiǎng)鍗扮増錛夈嬶紝涓浗鐢?shù)鍔涘嚭鐗埥C?</font> </p> <p> <font face="Verdana">浣犺嚜璁や負(fù)鏄疌++妯℃澘緙栫▼楂樻墜鍚楋紵璇風(fēng)湅榪囪繖鏈功鍐嶅洖絳擩 榪欐槸涓鏈嚭鑷ぉ鎵嶄箣鎵嬩護(hù)浜烘暚鐣忕殑鏉頒綔銆傛硾鍨嬫ā寮忥紝鏃犻檺寤朵幾浣犵殑瑙嗛噹錛岃凍浠ユ寫(xiě)鎴樹(shù)換浣曚竴鍚岰++紼嬪簭鍛樼殑鎬濈淮鏋侀檺銆?</font> </p> <p> <font face="Verdana">榪欐湰涔﹀叡鍒嗕負(fù)涓ゅぇ閮ㄥ垎錛岀涓閮ㄥ垎璁ㄨ浜?Loki紼嬪簭搴撻噰鐢ㄧ殑鍩虹鎶鏈互鍙?qiáng)涓浜涢珮綰ц璦鐗規(guī)э紝鍖呮嫭鍩轟簬絳栫暐鐨勭被璁捐銆佹ā鏉垮眬閮ㄧ壒鍖栥佺紪璇戞湡鏂█銆乀ypelist浠ュ強(qiáng)灝忓瀷瀵硅薄鍒嗛厤鎶鏈瓑銆傜浜岄儴鍒嗗垯鐫閲嶄粙緇嶄簡(jiǎn)Loki涓殑閲嶈緇勪歡鍜屾硾鍨嬫ā寮忔妧鏈紝鍖呮嫭娉涘寲浠垮嚱鏁幫紙Generalization Functor錛夈佸崟浠訛紙Singleton錛夈佹櫤鑳芥寚閽堛佸璞″伐鍘傦紙Object Factory錛夈佹娊璞″伐鍘傦紙Abstract Factory錛夈佽闂咃紙Visitor錛変互鍙?qiáng)澶氭栆?guī)硶錛圡ultimethods錛夌瓑銆傛瘡涓縐嶆妧鏈兘璁╀漢澶у紑鐪肩晫錛屽徆涓鴻姝€?</font> </p> <p> <font face="Verdana">鍦–++鐨勫涔?fàn)鏂归潰锛寴q囩姽涓嶅強(qiáng)寰寰鎴愪簡(jiǎn)涓嶆眰鐢氳В鐨勫熷彛銆傜劧鑰岋紝闈㈠悜瀵硅薄騫墮潪C++鐨勫叏閮紝妯℃澘鍜屾硾鍨嬬紪紼嬩害鍗犲崐澹佹睙灞便傚浜庘滀弗鑲冣濈殑C++紼嬪簭鍛樿岃█錛屽強(qiáng)鏃惰窡榪涜繖欏規(guī)棭緇忎緥璇佺殑鎴愬姛鎶鏈紝涓嶅け涓烘槑鏅轟箣涓俱?</font> </p> <p> <font face="Verdana">緇撹 </font> </p> <p> <font face="Verdana">榪欎簺钁椾綔鏄姝ゅぇ鍚嶉紟榧庯紝涔熻鏍規(guī)湰涓嶇己鎴戜竴涓帹鑽愩傜劧鑰岋紝綰電劧C++紼嬪簭鍛橀槦浼嶇殑鍙戝睍澹ぇ閫熷害涓嶅儚鍏朵粬鏇存椂楂︾殑璇█閭f牱榪呴燂紝鏂頒漢榪涙繪槸澶氫簬鏃т漢鍑恒傞櫎浜?jiǎn)鐑勘鍦皨脾杩庢栴C漢錛屾垜涓漢璁や負(fù)鍒頒簡(jiǎn)瀵笴++涔︾睄榪涜鈥滅洏鐐光濈殑鏃跺欎簡(jiǎn)錛屽茍涓斿笇鏈涜繖鏍風(fēng)殑鈥滅洏鐐光濇湁鐩婁簬鎰熷叴瓚g殑璇昏呫傝淇濇寔鑰愬績(jī)鍜屽鍘氥傚湪涓嬬瘒涓紝鎴戝皢緇х畫(huà)浠嬬粛鏍囧噯搴撱佺綉緇滅紪紼嬩互鍙?qiáng)鍏朵粬鏂归潰鐨凜++濂戒功銆傛湁濂戒功鐩鎬即錛岃繖涓啲澶╀笉浼?xì)鍐?/font> </p> <p> <font face="Verdana"> </font>聽(tīng)</p> <p> <font face="Verdana"> </font>聽(tīng)</p> <p>聽(tīng)</p> <img src ="http://www.shnenglu.com/bloodsuck/aggbug/7934.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/bloodsuck/" target="_blank">榛勫ぇ浠?/a> 2006-05-31 13:35 <a href="http://www.shnenglu.com/bloodsuck/archive/2006/05/31/7934.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++ STL綆浠?杞澆)http://www.shnenglu.com/bloodsuck/archive/2006/05/31/7918.html榛勫ぇ浠?/dc:creator>榛勫ぇ浠?/author>Wed, 31 May 2006 02:01:00 GMThttp://www.shnenglu.com/bloodsuck/archive/2006/05/31/7918.htmlhttp://www.shnenglu.com/bloodsuck/comments/7918.htmlhttp://www.shnenglu.com/bloodsuck/archive/2006/05/31/7918.html#Feedback1http://www.shnenglu.com/bloodsuck/comments/commentRss/7918.htmlhttp://www.shnenglu.com/bloodsuck/services/trackbacks/7918.html
C++ STL綆浠?/td>
鍘熷垱錛?a >鎬掔伀涔嬭 2002騫?0鏈?8鏃?

涓銆丼TL綆浠?/h3>

STL錛圫tandard Template Library錛屾爣鍑嗘ā鏉垮簱)鏄儬鏅疄楠屽寮鍙戠殑涓緋誨垪杞歡鐨勭粺縐般傚畠鏄敱Alexander Stepanov銆丮eng Lee鍜孌avid R Musser鍦ㄦ儬鏅疄楠屽宸ヤ綔鏃舵墍寮鍙戝嚭鏉ョ殑銆傜幇鍦ㄨ櫧璇村畠涓昏鍑虹幇鍦–++涓紝浣嗗湪琚紩鍏++涔嬪墠璇ユ妧鏈氨宸茬粡瀛樺湪浜?jiǎn)寰堥暱鐨勪竴孌墊椂闂淬?/p>

STL鐨勪唬鐮佷粠騫夸箟涓婅鍒嗕負(fù)涓夌被錛歛lgorithm錛堢畻娉曪級(jí)銆乧ontainer錛堝鍣級(jí)鍜宨terator錛堣凱浠e櫒錛夛紝鍑犱箮鎵鏈夌殑浠g爜閮介噰鐢ㄤ簡(jiǎn)妯℃澘綾誨拰妯$増鍑芥暟鐨勬柟寮忥紝榪欑浉姣斾簬浼犵粺鐨勭敱鍑芥暟鍜岀被緇勬垚鐨勫簱鏉ヨ鎻愪緵浜?jiǎn)鏇村ソ鐨勪唬鐮侀噸鐢ㄦ溵Z細(xì)銆傚湪C++鏍囧噯涓紝STL琚粍緇囦負(fù)涓嬮潰鐨?3涓ご鏂囦歡錛?lt;algorithm>銆?lt;deque>銆?lt;functional>銆?lt;iterator>銆?lt;vector>銆?lt;list>銆?lt;map>銆?lt;memory>銆?lt;numeric>銆?lt;queue>銆?lt;set>銆?lt;stack>鍜?lt;utility>銆備互涓嬬瑪鑰呭氨綆鍗曚粙緇嶄竴涓婼TL鍚勪釜閮ㄥ垎鐨勪富瑕佺壒鐐廣?/p>

浜屻佺畻娉?/h3>

澶у閮借兘鍙栧緱鐨勪竴涓叡璇嗘槸鍑芥暟搴撳鏁版嵁綾誨瀷鐨勯夋嫨瀵瑰叾鍙噸鐢ㄦц搗鐫鑷沖叧閲嶈鐨勪綔鐢ㄣ備婦渚嬫潵璇達(dá)紝涓涓眰鏂規(guī)牴鐨勫嚱鏁幫紝鍦ㄤ嬌鐢ㄦ誕鐐規(guī)暟浣滀負(fù)鍏跺弬鏁扮被鍨嬬殑鎯呭喌涓嬬殑鍙噸鐢ㄦц偗瀹氭瘮浣跨敤鏁村瀷浣滀負(fù)瀹冪殑鍙傛暟綾繪ц楂樸傝孋++閫氳繃妯℃澘鐨勬満鍒跺厑璁告帹榪熷鏌愪簺綾誨瀷鐨勯夋嫨錛岀洿鍒扮湡姝f兂浣跨敤妯℃澘鎴栬呰瀵規(guī)ā鏉胯繘琛岀壒鍖栫殑鏃跺欙紝STL灝卞埄鐢ㄤ簡(jiǎn)榪欎竴鐐規(guī)彁渚涗簡(jiǎn)鐩稿綋澶氱殑鏈夌敤綆楁硶銆傚畠鏄湪涓涓湁鏁堢殑妗嗘灦涓畬鎴愯繖浜涚畻娉曠殑鈥斺斾綘鍙互灝嗘墍鏈夌殑綾誨瀷鍒掑垎涓哄皯鏁扮殑鍑犵被錛岀劧鍚庡氨鍙互鍦ㄦā鐗堢殑鍙傛暟涓嬌鐢ㄤ竴縐嶇被鍨嬫浛鎹㈡帀鍚屼竴縐嶇被涓殑鍏朵粬綾誨瀷銆?/p>

STL鎻愪緵浜?jiǎn)澶ЬU?00涓疄鐜扮畻娉曠殑妯$増鍑芥暟錛屾瘮濡傜畻娉昮or_each灝嗕負(fù)鎸囧畾搴忓垪涓殑姣忎竴涓厓绱犺皟鐢ㄦ寚瀹氱殑鍑芥暟錛宻table_sort浠ヤ綘鎵鎸囧畾鐨勮鍒欏搴忓垪榪涜紼沖畾鎬ф帓搴忕瓑絳夈傝繖鏍蜂竴鏉ワ紝鍙鎴戜滑鐔熸?zhèn)変簡(jiǎn)STL涔嬪悗錛岃澶氫唬鐮佸彲浠ヨ澶уぇ鐨勫寲綆錛屽彧闇瑕侀氳繃璋冪敤涓涓や釜綆楁硶妯℃澘錛屽氨鍙互瀹屾垚鎵闇瑕佺殑鍔熻兘騫跺ぇ澶у湴鎻愬崌鏁堢巼銆?/p>

綆楁硶閮ㄥ垎涓昏鐢卞ご鏂囦歡<algorithm>錛?lt;numeric>鍜?lt;functional>緇勬垚銆?lt;algorithm>鏄墍鏈塖TL澶存枃浠朵腑鏈澶х殑涓涓紙灝界瀹冨緢濂界悊瑙o級(jí)錛屽畠鏄敱涓澶у爢妯$増鍑芥暟緇勬垚鐨勶紝鍙互璁や負(fù)姣忎釜鍑芥暟鍦ㄥ緢澶х▼搴︿笂閮芥槸鐙珛鐨勶紝鍏朵腑甯哥敤鍒扮殑鍔熻兘鑼冨洿娑夊強(qiáng)鍒版瘮杈冦佷氦鎹€佹煡鎵俱侀亶鍘嗘搷浣溿佸鍒躲佷慨鏀廣佺Щ闄ゃ佸弽杞佹帓搴忋佸悎騫剁瓑絳夈?lt;numeric>浣撶Н寰堝皬錛屽彧鍖呮嫭鍑犱釜鍦ㄥ簭鍒椾笂闈㈣繘琛岀畝鍗曟暟瀛﹁繍綆楃殑妯℃澘鍑芥暟錛屽寘鎷姞娉曞拰涔樻硶鍦ㄥ簭鍒椾笂鐨勪竴浜涙搷浣溿?lt;functional>涓垯瀹氫箟浜?jiǎn)涓浜涙ā鏉跨被錛岀敤浠ュ0鏄庡嚱鏁板璞°?/p>

涓夈佸鍣?/h3>

鍦ㄥ疄闄呯殑寮鍙戣繃紼嬩腑錛屾暟鎹粨鏋勬湰韜殑閲嶈鎬т笉浼?xì)閫婁簬鎿嶄綔浜庢暟鎹粨鏋勭殑綆楁硶鐨勯噸瑕佹э紝褰撶▼搴忎腑瀛樺湪鐫瀵規(guī)椂闂磋姹傚緢楂樼殑閮ㄥ垎鏃訛紝鏁版嵁緇撴瀯鐨勯夋嫨灝辨樉寰楁洿鍔犻噸瑕併?/p>

緇忓吀鐨勬暟鎹粨鏋勬暟閲忔湁闄愶紝浣嗘槸鎴戜滑甯稿父閲嶅鐫涓浜涗負(fù)浜?jiǎn)瀹炵幇鍚戦噺銆侀摼琛ㄧ瓑緇撴瀯鑰岀紪鍐欑殑浠g爜錛岃繖浜涗唬鐮侀兘鍗佸垎鐩鎬技錛屽彧鏄負(fù)浜?jiǎn)閫傚簲涓嶅悓鏁版嵁鐨勫彉鍖栬屽湪緇嗚妭涓婃湁鎵鍑哄叆銆係TL瀹瑰櫒灝變負(fù)鎴戜滑鎻愪緵浜?jiǎn)杩欐狅L(fēng)殑鏂逛究錛屽畠鍏佽鎴戜滑閲嶅鍒╃敤宸叉湁鐨勫疄鐜版瀯閫犺嚜宸辯殑鐗瑰畾綾誨瀷涓嬬殑鏁版嵁緇撴瀯錛岄氳繃璁劇疆涓浜涙ā鐗堢被錛孲TL瀹瑰櫒瀵規(guī)渶甯哥敤鐨勬暟鎹粨鏋勬彁渚涗簡(jiǎn)鏀寔錛岃繖浜涙ā鏉跨殑鍙傛暟鍏佽鎴戜滑鎸囧畾瀹瑰櫒涓厓绱犵殑鏁版嵁綾誨瀷錛屽彲浠ュ皢鎴戜滑璁稿閲嶅鑰屼箯鍛崇殑宸ヤ綔綆鍖栥?/p>

瀹瑰櫒閮ㄥ垎涓昏鐢卞ご鏂囦歡<vector>,<list>,<deque>,<set>,<map>,<stack>鍜?lt;queue>緇勬垚銆傚浜庡父鐢ㄧ殑涓浜涘鍣ㄥ拰瀹瑰櫒閫傞厤鍣紙鍙互鐪嬩綔鐢卞叾瀹冨鍣ㄥ疄鐜扮殑瀹瑰櫒錛夛紝鍙互閫氳繃涓嬭〃鎬葷粨涓涓嬪畠浠拰鐩稿簲澶存枃浠剁殑瀵瑰簲鍏崇郴銆?/p>
鏁版嵁緇撴瀯 鎻忚堪 瀹炵幇澶存枃浠?/font>
鍚戦噺(vector) 榪炵畫(huà)瀛樺偍鐨勫厓绱?/td> <vector>
鍒楄〃(list) 鐢辮妭鐐圭粍鎴愮殑鍙屽悜閾捐〃錛屾瘡涓粨鐐瑰寘鍚潃涓涓厓绱?/td> <list>
鍙岄槦鍒?deque) 榪炵畫(huà)瀛樺偍鐨勬寚鍚戜笉鍚屽厓绱犵殑鎸囬拡鎵緇勬垚鐨勬暟緇?/td> <deque>
闆嗗悎(set) 鐢辮妭鐐圭粍鎴愮殑綰㈤粦鏍?wèi)锛屾瘡涓妭鐐归兘鍖呭惈鐫涓涓厓绱狅紝鑺傜偣涔嬮棿浠ユ煇縐嶄綔鐢ㄤ簬鍏冪礌瀵圭殑璋撹瘝鎺掑垪錛屾病鏈変袱涓笉鍚岀殑鍏冪礌鑳藉鎷ユ湁鐩稿悓鐨勬搴?/td> <set>
澶氶噸闆嗗悎(multiset) 鍏佽瀛樺湪涓や釜嬈″簭鐩哥瓑鐨勫厓绱犵殑闆嗗悎 <set>
鏍?stack) 鍚庤繘鍏堝嚭鐨勫肩殑鎺掑垪 <stack>
闃熷垪(queue) 鍏堣繘鍏堝嚭鐨勬墽鐨勬帓鍒?/td> <queue>
浼樺厛闃熷垪(priority_queue) 鍏冪礌鐨勬搴忔槸鐢變綔鐢ㄤ簬鎵瀛樺偍鐨勫煎涓婄殑鏌愮璋撹瘝鍐沖畾鐨勭殑涓縐嶉槦鍒?/td> <queue>
鏄犲皠(map) 鐢眥閿紝鍊紏瀵圭粍鎴愮殑闆嗗悎錛屼互鏌愮浣滅敤浜庨敭瀵逛笂鐨勮皳璇嶆帓鍒?/td> <map>
澶氶噸鏄犲皠(multimap) 鍏佽閿鏈夌浉絳夌殑嬈″簭鐨勬槧灝?/td> <map>

鍥涖佽凱浠e櫒

涓嬮潰瑕佽鐨勮凱浠e櫒浠庝綔鐢ㄤ笂鏉ヨ鏄渶鍩烘湰鐨勯儴鍒嗭紝鍙槸鐞嗚В璧鋒潵姣斿墠涓よ呴兘瑕佽垂鍔涗竴浜涳紙鑷沖皯絎旇呮槸榪欐牱錛夈傝蔣浠惰璁℃湁涓涓熀鏈師鍒欙紝鎵鏈夌殑闂閮藉彲浠ラ氳繃寮曡繘涓涓棿鎺ュ眰鏉ョ畝鍖栵紝榪欑綆鍖栧湪STL涓氨鏄敤榪唬鍣ㄦ潵瀹屾垚鐨勩傛鎷潵璇達(dá)紝榪唬鍣ㄥ湪STL涓敤鏉ュ皢綆楁硶鍜屽鍣ㄨ仈緋昏搗鏉ワ紝璧風(fēng)潃涓縐嶉粡鍜屽墏鐨勪綔鐢ㄣ傚嚑涔嶴TL鎻愪緵鐨勬墍鏈夌畻娉曢兘鏄氳繃榪唬鍣ㄥ瓨鍙栧厓绱犲簭鍒楄繘琛屽伐浣滅殑錛屾瘡涓涓鍣ㄩ兘瀹氫箟浜?jiǎn)鍏舵湰桧n鎵涓撴湁鐨勮凱浠e櫒錛岀敤浠ュ瓨鍙栧鍣ㄤ腑鐨勫厓绱犮?/p>

榪唬鍣ㄩ儴鍒嗕富瑕佺敱澶存枃浠?lt;utility>,<iterator>鍜?lt;memory>緇勬垚銆?lt;utility>鏄竴涓緢灝忕殑澶存枃浠訛紝瀹冨寘鎷簡(jiǎn)璐┛浣跨敤鍦⊿TL涓殑鍑犱釜妯℃澘鐨勫0鏄庯紝<iterator>涓彁渚涗簡(jiǎn)榪唬鍣ㄤ嬌鐢ㄧ殑璁稿鏂規(guī)硶錛岃屽浜?lt;memory>鐨勬弿榪板垯鍗佸垎鐨勫洶闅撅紝瀹冧互涓嶅悓瀵誨父鐨勬柟寮忎負(fù)瀹瑰櫒涓殑鍏冪礌鍒嗛厤瀛樺偍絀洪棿錛屽悓鏃朵篃涓烘煇浜涚畻娉曟墽琛屾湡闂翠駭鐢熺殑涓存椂瀵硅薄鎻愪緵鏈哄埗,<memory>涓殑涓昏閮ㄥ垎鏄ā鏉跨被allocator錛屽畠璐熻矗浜х敓鎵鏈夊鍣ㄤ腑鐨勯粯璁ゅ垎閰嶅櫒銆?/p>

浜斻佸鍒濆鑰呭涔?fàn)STL鐨勪竴鐐瑰緩璁?/h3>

瀵逛簬涔嬪墠涓嶅お浜?jiǎn)瑙TL鐨勮鑰呮潵璇達(dá)紝涓婇潰鐨勬枃瀛楀彧鏄崄鍒嗘鎷湴鎻忚堪浜?jiǎn)涓涓婼TL鐨勬鏋訛紝瀵規(guī)偍鐞嗚ВSTL鐨勬満鍒朵箖鑷充嬌鐢⊿TL鎵璧峰埌鐨勫府鍔╁井涔庣敋寰紝榪欎笉鍏夋槸鍥犱負(fù)娣卞叆STL闇瑕佸C++鐨勯珮綰у簲鐢ㄦ湁姣旇緝鍏ㄩ潰鐨勪簡(jiǎn)瑙o紝鏇村洜涓篠TL鐨勪笁涓儴鍒嗙畻娉曘佸鍣ㄥ拰榪唬鍣ㄤ笁閮ㄥ垎鏄簰鐩哥壍鍒舵垨鑰呰鏄揣瀵嗙粨鍚堢殑銆備粠姒傚康涓婅鏈鍩虹鐨勯儴鍒嗘槸榪唬鍣紝鍙槸鐩存帴瀛︿範(fàn)榪唬鍣ㄤ細(xì)閬囧埌璁稿鎶借薄鏋嚗鍜岀箒鐞愮殑緇嗚妭錛岀劧鑰屼笉鐪熸鐞嗚В榪唬鍣ㄥ張鏄棤娉曠洿鎺ヨ繘鍏ュ彟涓ら儴鍒嗙殑瀛︿範(fàn)鐨勶紙鑷沖皯瀵瑰墫鏋愭簮鐮佹潵璇存槸榪欐牱錛夈傚彲浠ヨ錛岄傚簲STL澶勭悊闂鐨勬柟娉曟槸闇瑕佽姳璐逛竴瀹氱殑鏃墮棿鐨勶紝浣嗘槸浠ユ涓轟唬浠鳳紝STL鍙栧緱浜?jiǎn)涓縐嶅崄鍒嗗彲璐電殑鐙珛鎬э紝瀹冮氳繃榪唬鍣ㄨ兘鍦ㄥ敖鍙兘灝戝湴鐭ラ亾鏌愮鏁版嵁緇撴瀯鐨勬儏鍐典笅瀹屾垚瀵硅繖涓緇撴瀯鐨勮繍綆楋紝鎵浠ヤ笅鍐沖績(jī)閽葷爺STL鐨勬湅鍙嬩滑鍗冧竾涓嶈琚竴鏃剁殑鍥伴毦鍑誨掋傚叾瀹濻TL榪愮敤鐨勬ā寮忕浉瀵圭粺涓錛屽彧瑕侀傚簲浜?jiǎn)瀹冨Q屼粠涓涓猄TL宸ュ叿鍒板彟涓涓伐鍏鳳紝閮戒笉浼?xì)鏈変粈涔堝ぇ鐨勫彉鍖栥?/p>

瀵逛簬STL鐨勪嬌鐢紝涔熸櫘閬嶅瓨鍦ㄧ潃涓ょ瑙傜偣銆傜涓縐嶈涓篠TL鐨勬渶澶т綔鐢ㄥ湪浜庡厖褰撶粡鍏哥殑鏁版嵁緇撴瀯鍜岀畻娉曟暀鏉愶紝鍥犱負(fù)瀹冪殑婧愪唬鐮佹秹鍙?qiáng)浜?jiǎn)璁稿鍏蜂綋瀹炵幇鏂歸潰鐨勯棶棰樸傜浜岀鍒欒涓篠TL鐨勫垵琛蜂箖鏄負(fù)浜?jiǎn)绠鍖栬璁★紝閬垮厤閲嶅鍔沖姩錛屾彁楂樼紪紼嬫晥鐜囷紝鍥犳搴旇鏄滃簲鐢ㄨ嚦涓娾濈殑錛屽浜庢簮浠g爜鍒欎笉蹇呮繁絀躲傜瑪鑰呭垯璁や負(fù)鍒嗘瀽婧愪唬鐮佸拰搴旂敤騫朵笉鐭涚浘錛岄氳繃鍒嗘瀽婧愪唬鐮佷篃鑳芥彁楂樻垜浠鍏跺簲鐢ㄧ殑鐞嗚В錛屽綋鐒舵牴鎹叿浣撶殑鐩殑涔熷彲浠ユ湁涓嶅悓鐨勪晶閲嶃?/p>

鏈鍚庤璇寸殑鏄紝STL鏄疉NSI/ISO C++鏍囧噯鐨勪竴閮ㄥ垎錛屾墍浠ュ浜庝竴涓彲浠ユ湁澶氱C++瀹炵幇鐨勮繃紼嬶紝棣栧厛鑰冭檻鐨勫簲璇ユ槸STL鎻愪緵鐨勬ā鏉匡紙楂樻晥涓斿彲縐繪鎬уソ錛夛紝鍏舵鎵嶆槸鍚勪釜鍘傚晢鍚勮嚜鐩稿簲鐨勫簱錛堥珮鏁堜絾鍙Щ妞嶆т笉濂斤級(jí)浠ュ強(qiáng)鑷繁鍘葷紪鍐欎唬鐮侊紙鍙Щ妞嶆уソ浣嗕綆鏁堬級(jí)銆?/p>

]]>綾繪ā鏉匡紙鍘熷垱錛?/title><link>http://www.shnenglu.com/bloodsuck/archive/2006/05/27/7730.html</link><dc:creator>榛勫ぇ浠?/dc:creator><author>榛勫ぇ浠?/author><pubDate>Sat, 27 May 2006 09:55:00 GMT</pubDate><guid>http://www.shnenglu.com/bloodsuck/archive/2006/05/27/7730.html</guid><wfw:comment>http://www.shnenglu.com/bloodsuck/comments/7730.html</wfw:comment><comments>http://www.shnenglu.com/bloodsuck/archive/2006/05/27/7730.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/bloodsuck/comments/commentRss/7730.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/bloodsuck/services/trackbacks/7730.html</trackback:ping><description><![CDATA[ <pre>聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)<font size="2"> 榪欏嚑澶╃湅浜?jiǎn)涓嬫ā鏉?錛屼互涓嬫槸涓漢鐨勪簺蹇?jī)寰楀Q岄珮鎵嬭絎戜簡(jiǎn)<br />1.綾繪ā鐗?瀹炰緥 瀵硅薄瀹氫箟 寮曡搗 瀹炰緥鍖?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鎸囬拡錛屽紩鐢?涓嶄細(xì)寮曡搗瀹炰緥鍖?br />綾婚潪鍨嬪弬鏁奧?鍙兘鏄?鏁村艦錛屾灇涓撅紝澶栬仈緇擄紝涓斿簲涓轟竴涓父閲忕紪璇戞椂灝卞簲紜畾<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 嫻偣鍨嬶紝綾葷被鍨嬶紝銆傘傘傞兘涓嶅彲浠?br />2.class templates 鐨勬垚鍛樺嚱鏁?鍦ㄨ皟鐢ㄥ拰鍙栧湴鍧鏃跺疄渚嬪寲錛屽湪綾誨疄渚嬪寲鏃朵笉浼?xì)鑷姩瀹炰緥鍖?br />3.class templates 鐨勫弸鍏冪敵鏄?br />聽(tīng)聽(tīng)聽(tīng) a.闈炴ā鐗堢被鍨?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) friend class man;<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) friend void f(void);<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) friend void man::f(void);<br />聽(tīng)聽(tīng) b.涓瀵逛竴鐨勬ā鐗堝弸鍏?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) friend class man<T>;<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) friend void f<T>( man<T>);<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)friend void man<T>::f();<br />聽(tīng)聽(tīng)聽(tīng) c.涓瀵瑰鐨勬ā鐗堝弸鍏?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) template <typename T><br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) friend class man;<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) template <typename T><br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) friend void聽(tīng) f( T);<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) template <typename T><br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) friend void man<T>::f();<br />4.綾繪ā鐗堢殑闈?rùn)鎬佹垚鍛?<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 騫朵笉鍦ㄦā鐗堝畾涔夋椂瀹炰緥鍖栵紝鍦ㄧ被妯$増瀹炰緥鍖栨椂瀹炰緥鍖栵紝瀵瑰簲1涓被鍨?br />template <typename T><br />int man<T>::size=10;<br />鑰屾垚鍛樺嚱鏁板簲涓?br />聽(tīng) template <typename T><br />聽(tīng)聽(tīng) void man<T>::f(void)<br />{<br />..........................................<br />}<br />5.鎴愬憳妯$増 鍙互鏄櫘閫氱被鍜?妯$増綾?br />濡傦細(xì)<br />class woman聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <br />{<br />public:<br />聽(tīng)template <typename T><br />聽(tīng)聽(tīng)class man<br />聽(tīng){<br />聽(tīng)public:<br />聽(tīng)聽(tīng)print(T a)<br />聽(tīng)聽(tīng){<br />聽(tīng)聽(tīng)聽(tīng)cout<<a;<br />聽(tīng)聽(tīng)聽(tīng) <br />聽(tīng)聽(tīng)}</font></pre> <p> <font size="2">聽(tīng)};<br />聽(tīng)template <typename T2><br />聽(tīng)聽(tīng)void print(T2 a)<br />聽(tīng){<br />聽(tīng)聽(tīng)cout<<a;<br />聽(tīng)};<br />protected:<br />private:<br />};<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 1涓ソ鐨勪緥瀛?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) template聽(tīng)<typename T>聽(tīng)聽(tīng) class A聽(tīng)聽(tīng)<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)public:<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) template <typename T1>聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) A&聽(tīng)聽(tīng)聽(tīng) operator =(const A<T1> & );<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)濡傛 鍒橝 鐨勫璞?鍙互鐢ㄥ叾浠栧瀷鐨勫璞¤祴鍊間簡(jiǎn)<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鍦ㄤ嬌鐢ㄦ椂鎵嶅疄渚嬪寲<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 浣嗘槸鍏跺畾涔夋瘮杈冮獓浜?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) template <typename T> <br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) template<typename T1><br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) A<T>&聽(tīng) A<T>::operator=(const A<T1>& a)<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {聽(tīng) ...........................}<br /><br /><br /><br />6.綾繪ā鐗堢殑鐗瑰寲<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鐗瑰寲1涓被妯℃澘錛堟墍鏈夋垚鍛樺繀欏葷壒鍖栧寘鎷潤(rùn)鎬佺被鏁版嵁鎴愬憳(vc),浣嗗弸鍏冩ā鏉匡紙1錛?錛夊彲浠?br />涓嶇壒鍖栵紝褰撲綔涓涓樉紺哄疄鍙傜殑鍑芥暟妯℃澘澶勭悊鍗沖彲錛?鎴?鐗瑰寲1涓ā鏉?鎴愬憳鍑芥暟<br /><br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)妯℃澘鎴愬憳鍑芥暟鐗瑰寲鏄畾涔夊繀欏誨嚭鐜板湪瀹炵幇鏂囦歡錛坈pp)涓?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 璇硶涓?br />聽(tīng)聽(tīng)聽(tīng) void man<int>::f(void)<br />{<br />............................<br />}<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)<br />綾葷壒鍖?br />聽(tīng)template <><br />class man<int><br />{<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ......//涓墍鏈夌被鍨嬪弬鏁頒互int 鏇夸唬<br />};<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)<br />聽(tīng)聽(tīng)man<int>::man()<br />{<br />......<br />}<br /><br />void man<int>::f(void)<br />{<br />}<br />娉ㄦ剰聽(tīng) 綾繪垚鍛樹(shù)腑<br />聽(tīng)聽(tīng) static const 鏈夊簭綾誨瀷鍙互鍦ㄤ綋鍐呭垵濮嬪寲static const int a=10;<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 浠呬粎static聽(tīng) 蹇呴』鍦ㄤ綋澶?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) static int a;<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) int聽(tīng)woman::a=10;<br />聽(tīng)聽(tīng)聽(tīng)闈?鐗瑰寲<br />聽(tīng)聽(tīng) template <typename T><br />聽(tīng)聽(tīng) int man<T>::size=10;<br />聽(tīng)聽(tīng) 鐗瑰寲<br />聽(tīng)聽(tīng) int man<char>::size=10;<br />7鍋忕壒鍖?br />聽(tīng)聽(tīng) 綾繪ā鏉挎湁1涓互涓婃ā鐗堝弬鏁幫紙綾誨瀷鍙傛暟錛岄潪綾誨瀷鍙傛暟錛?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鏌愪簺妯$増鍙傛暟 琚疄闄呯殑鍨嬪拰鍊煎彇浠o紙娉ㄦ剰鏄?鍙栦唬 錛屼笉鏄鍔狅紝鍑忓皯錛?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 濡傦細(xì)<br /><br />//////////////////澶存枃浠?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) template <typename T1,typename T2,int size><br />class wc<br />{<br />public:<br />聽(tīng)wc()<br />聽(tīng){<br />聽(tīng)聽(tīng)cout<<"\n int T1,T2, int";<br />聽(tīng)}<br />protected:<br />private:<br />};<br />template <typename T,int size><br />class聽(tīng) wc<T* ,T,size><br />{<br />public:<br />聽(tīng)wc()<br />聽(tīng){<br />聽(tīng)聽(tīng)cout<<"\n in T *, T ,size";<br />聽(tīng)}<br />protected:<br />private:<br />};<br />template <typename T,int size><br />class聽(tīng) wc<T* ,float,size><br />{<br />public:<br />聽(tīng)wc()<br />聽(tīng){<br />聽(tīng)聽(tīng)cout<<"\n in T* ,float,size";<br />聽(tīng)}<br />protected:<br />private:<br />};<br />template <typename T><br />class聽(tīng) wc<T* ,float,80><br />{<br />public:<br />聽(tīng)wc()<br />聽(tīng){<br />聽(tīng)聽(tīng)cout<<"\n in T* ,float,80";<br />聽(tīng)}<br />protected:<br />private:<br />};<br />///////澶存枃浠?br />//////main()<br />wc<int,float,10> wc1;<br />聽(tīng)wc<int* ,int ,20> wc2;<br />聽(tīng)wc<int*,float,39> wc3;<br />wc<int*,float,80>wc4;<br />///////main() ,鍦╲c 7 涓婇氳繃<br />//////main()<br /><br /><br />8.棰勮妯℃澘鍙傛暟(鍙湁鍦ㄧ被妯℃澘涓墠鎸囧畾 錛? .聽(tīng) 鏄庣‘鎸囧畾 a<int,int>聽(tīng)聽(tīng) ,鐩存帴瀹氫箟鏃?man<>聽(tīng) kkk;2. a<T,T> )<br />template <typename T,typename T1=float><br />class man<br />{<br />..........<br />}<br /><br />鍐欏埌榪欓噷紿佺劧鎯沖埌<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) class A {<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)virtual void聽(tīng)聽(tīng) print();<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) };<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) class B:public A {<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) virtual void print();<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) };<br />B b;<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) A *a =&b;<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) a->print();//璋冪敤 B鐨勶紝姝ゆ椂 print()涓殑this 鎸囬拡鏄?tīng)B * const,浣跨敤B 鐨勬帴鍙B?<br /><br />9.鍙岄噸妯℃澘鍙傛暟錛堝緢鏈夌敤錛?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) template <typename T,typename G =man<T> ><br />聽(tīng)class baby<br />聽(tīng){<br />聽(tīng)public:<br />聽(tīng) baby ()<br />聽(tīng) {<br />聽(tīng)聽(tīng) cout<<"\n in baby";<br />聽(tīng) }<br />聽(tīng)protected:<br />聽(tīng)private:<br />聽(tīng)};//綾誨瀷鍙傛暟鍙互鏄?綾葷被鍨?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <br />baby<int, man<float> > b;聽(tīng) //ok<br />////////////////////////<br />template <typename T,template <typename G> class TT>//鍙互鐪佺暐涓?template <typename T聽(tīng) ,template<typename>聽(tīng)聽(tīng)class聽(tīng)聽(tīng)TT><br />聽(tīng)class聽(tīng) son<br />聽(tīng){<br />聽(tīng)public:<br />聽(tīng)聽(tīng) TT<T> * a;聽(tīng)<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) son()<br />聽(tīng)聽(tīng){<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) a=0;<br />聽(tīng)聽(tīng)聽(tīng)cout<<"\n in son";<br />聽(tīng)聽(tīng)}<br />聽(tīng)protected:<br />聽(tīng)private:<br />聽(tīng)};<br />聽(tīng)聽(tīng) son<int, man> b;//鍒欏氨鍚湁浜?man<int > * a;<br />TT 鏄ā鏉垮崰浣嶇鍙鳳紝鏄竴涓甫1涓被鍨嬪弬鏁扮殑綾繪ā鏉匡紝濡傛灉鍏舵湁榛樿妯℃澘鍙傛暟 鍒欏拷鐣ユ帀聽(tīng)聽(tīng)<br />鎵浠ヂ?tīng)GG鑻ュ甫榛樿 鐨勬ā鏉?搴旇濡備笅<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) template <typename T, template <typename T2, typename= man<T2>聽(tīng) > class GG><br />class son<br />{<br />}</font> </p> <p> <font size="2">/////////聽(tīng)聽(tīng) 綾繪ā鏉跨被鍨嬪弬鏁?鍚屾椂榪樺彲浠ユ槸 綾繪ā鏉?br /><br />10. 瀛楃涓插父閲忓湪妯℃澘涓殑娉ㄦ剰浜嬮」<br /><br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) char * a="hi ,friend ";///"hi, friend"聽(tīng) 鏂囧瓧甯擱噺 鏄?const char [10] 綾誨瀷聽(tīng) 宸﹀艱漿鎹㈠埌 const char * <br />闄愬畾杞崲鍒?char *,<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) template <typename T銆?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ostream& operator <<(ostream & os, const T & b)錛?/娉ㄦ剰鍙湁const聽(tīng)鎵嶈兘鎺ュ彈涓存椂鍙橀噺<br /><br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) cout<<"hi,friend";聽(tīng)聽(tīng) <br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) cout<<"bad";<br />/////2涓笉鍚岀殑妯℃澘瀹炰緥<br />聽(tīng)聽(tīng) typeid(鍙橀噺).name();///鐩存帴鎵撳嵃鍑哄彉閲忕被鍨?br />鍐欏埌榪欙紝闂叉壇涓嬶細(xì)<br />聽(tīng)聽(tīng)聽(tīng) 鏍堝尯錛屽爢鍖猴紝鍏ㄥ眬錛堥潤(rùn)鎬侊級(jí)鍖猴紝鏂囧瓧甯擱噺錛屼唬鐮佸尯錛?涓ぇ鍖猴紝榪欎釜鏄垜鍚鐨?br />////////////////////////////////////////////////<br />11.妯℃澘鐨勭紪璇戞ā鍨?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鍦ㄥ疄渚嬪寲鐐瑰繀欏昏兘鎵懼埌瀹氫箟//鍘熷垯<br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 鍙兘浣跨敤鍖呭惈妯″紡浜?jiǎn)锛?br />a..h. cpp聽(tīng)鍦?h鏈鍚庝竴琛屽寘鍚繘 cpp<br />b.聽(tīng)鍏ㄩ儴鍦╤聽(tīng)鎴?cpp<br /><br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)鍒嗙妯″紡,鐩墠鏀寔鐨別xport 鍏抽敭瀛梚鐨勭紪璇戝櫒寰堝皯錛坴c.net 涓嶆敮鎸侊級(jí)</font> <br /> <br />12.<br />鍑芥暟鎸囬拡綾誨瀷涔熻兘鍋氭ā鏉跨被鍨嬪弬鏁?br /><br /></p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #0000ff">bool</span> <span style="COLOR: #000000">聽(tīng)minn(</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000">聽(tīng)a,</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000">聽(tīng)b)<br /><img id="Codehighlighter1_23_40_Open_Image" onclick="this.style.display='none'; Codehighlighter1_23_40_Open_Text.style.display='none'; Codehighlighter1_23_40_Closed_Image.style.display='inline'; Codehighlighter1_23_40_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_23_40_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_23_40_Closed_Text.style.display='none'; Codehighlighter1_23_40_Open_Image.style.display='inline'; Codehighlighter1_23_40_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span> <span id="Codehighlighter1_23_40_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.shnenglu.com/images/dot.gif" /> </span> <span id="Codehighlighter1_23_40_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)</span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000">聽(tīng)a</span> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">b;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />聽(tīng)}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> <br /> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)template聽(tīng)</span> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">typename聽(tīng)T1,typename聽(tīng)T2</span> <span style="COLOR: #000000">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)</span> <span style="COLOR: #0000ff">const</span> <span style="COLOR: #000000">聽(tīng)T1</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">聽(tīng)聽(tīng)mymin(</span> <span style="COLOR: #0000ff">const</span> <span style="COLOR: #000000">聽(tīng)T1</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">聽(tīng)t1,聽(tīng)</span> <span style="COLOR: #0000ff">const</span> <span style="COLOR: #000000">聽(tīng)T1</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">聽(tīng)t2,聽(tīng)T2聽(tīng)t3聽(tīng))<br /><img id="Codehighlighter1_137_166_Open_Image" onclick="this.style.display='none'; Codehighlighter1_137_166_Open_Text.style.display='none'; Codehighlighter1_137_166_Closed_Image.style.display='inline'; Codehighlighter1_137_166_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_137_166_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_137_166_Closed_Text.style.display='none'; Codehighlighter1_137_166_Open_Image.style.display='inline'; Codehighlighter1_137_166_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />聽(tīng)</span> <span id="Codehighlighter1_137_166_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.shnenglu.com/images/dot.gif" /> </span> <span id="Codehighlighter1_137_166_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)</span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000">聽(tīng)t3(t1,t2)</span> <span style="COLOR: #000000">?</span> <span style="COLOR: #000000">t1:t2;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />聽(tīng)}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">void</span> <span style="COLOR: #000000">聽(tīng)main()<br /><img id="Codehighlighter1_180_205_Open_Image" onclick="this.style.display='none'; Codehighlighter1_180_205_Open_Text.style.display='none'; Codehighlighter1_180_205_Closed_Image.style.display='inline'; Codehighlighter1_180_205_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_180_205_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_180_205_Closed_Text.style.display='none'; Codehighlighter1_180_205_Open_Image.style.display='inline'; Codehighlighter1_180_205_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span> <span id="Codehighlighter1_180_205_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.shnenglu.com/images/dot.gif" /> </span> <span id="Codehighlighter1_180_205_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />cout</span> <span style="COLOR: #000000"><<</span> <span style="COLOR: #000000">mymin(</span> <span style="COLOR: #000000">2</span> <span style="COLOR: #000000">,</span> <span style="COLOR: #000000">3</span> <span style="COLOR: #000000">,minn);<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span> </span> </div> <p> <br />13.<br />妯℃澘鍙傛暟鍙互鏄釜綾繪ā鏉柯?tīng)?<br />template <typename T> <br />class a<br />{<br />};<br />a< vector <int> >;<br /><br /><br />template <typename T, typename T2,template <typename T,typename T2> class con聽(tīng) ><br />void add(con<T,T2>,con<T,T2>)<br />{<br />聽(tīng)cout<<"ok";<br />}<br /><br />add(a,b)//鐗規(guī)畩鍦ㄤ簬 闇瑕佹帹瀵?vc 7 鍙互浠幝?綾繪ā鏉夸腑鎺ㄥ鍑哄弬鏁扮被鍨?/p> <p>template <typename T,template <typename T2,typename T3> class con ><br />class ggoo<br />{<br />public:<br />聽(tīng)con<T,T> a;<br />con<int,int> b;<br /><br />protected:<br />private:<br />};<br /><br />ggoo<int,double, b> kk;//b<int,double>, con 鐨勬ā鏉垮弬鏁板彲浠ヤ換鎰?br />聽(tīng)</p> <img src ="http://www.shnenglu.com/bloodsuck/aggbug/7730.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/bloodsuck/" target="_blank">榛勫ぇ浠?/a> 2006-05-27 17:55 <a href="http://www.shnenglu.com/bloodsuck/archive/2006/05/27/7730.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍑芥暟妯℃澘(鍘熷垱錛?/title><link>http://www.shnenglu.com/bloodsuck/archive/2006/05/27/7728.html</link><dc:creator>榛勫ぇ浠?/dc:creator><author>榛勫ぇ浠?/author><pubDate>Sat, 27 May 2006 07:31:00 GMT</pubDate><guid>http://www.shnenglu.com/bloodsuck/archive/2006/05/27/7728.html</guid><wfw:comment>http://www.shnenglu.com/bloodsuck/comments/7728.html</wfw:comment><comments>http://www.shnenglu.com/bloodsuck/archive/2006/05/27/7728.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/bloodsuck/comments/commentRss/7728.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/bloodsuck/services/trackbacks/7728.html</trackback:ping><description><![CDATA[聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) template <typename T><br />聽(tīng)T f(T a1,T a2)<br />{<br />.........................<br />}<br /><br /><br />鏄劇ず瀹炲弬<br />f<int >(1,2);<br />鏄劇ず瀹炰緥鍖?br />template聽(tīng) int f<int >(int ,int);錛堢敵鏄庯級(jí)<br />鏄劇ず鐗瑰寲<br />聽(tīng) template <> int f<int> (int,int)錛堝畾涔夛級(jí)<br />{<br /><br />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ...........<br />}<br />寮哄埗 浠庢ā鐗堜腑鎸?xiě)閫?br />聽(tīng)<br />f<>(2,3);<br /><br />鍦ㄥ嚱鏁拌皟鐢紝鍙栧嚱鏁板湴鍧鏃?瀹炲弬鎺ㄦ紨錛堝乏鍊鹼紝闄愬畾錛屽熀綾伙級(jí)<br />聽(tīng)int (* p)(int ,int)=&f;聽(tīng)聽(tīng)聽(tīng)聽(tīng) int(*p) (int ,int )=& f<int,int><br />聽(tīng) f(2,3);聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) f<int,int>(2,3);<br />1.緙栬瘧妯$増鏃訛紝緙栬瘧鍣ㄦ鏌?br />2.瀹炰緥鍖栨椂錛堝湪瀹炰緥鍖栫偣 鍐嶇紪璇戯級(jí)錛岀紪璇戝櫒媯(gè)鏌?br /><br />鍑芥暟妯$増 鍙兘鍑虹幇鍦ㄦā鐗堝畾涔変腑<br />鍑芥暟妯$増瀹炰緥 鍙互鍑虹幇鍦ㄦā鐗堝畾涔夊拰闈炲畾涔変腑<br />//////////////////////<br />1.闈炴ā鐗堝嚱鏁頒紭鍏堢駭楂?br />2.鍊欓?--銆夊彲琛屽疄渚嬪寲錛堟湁鐗瑰寲鍚︺堬級(jí)錛堟湁闈炴ā鐗堝惁錛?-銆夐変腑<br />3.渚濊禆妯$増鍙傛暟鐨勫湪瀹炰緥鐐硅В鏋愶紝涓嶄緷璧栫殑鍦ㄦā鐗堝畾涔夋椂瑙f瀽<img src ="http://www.shnenglu.com/bloodsuck/aggbug/7728.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/bloodsuck/" target="_blank">榛勫ぇ浠?/a> 2006-05-27 15:31 <a href="http://www.shnenglu.com/bloodsuck/archive/2006/05/27/7728.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://488089.com" target="_blank">国精产品99永久一区一区</a>| <a href="http://www-4890.com" target="_blank">欧美日韩四区</a>| <a href="http://339505.com" target="_blank">亚洲第一搞黄网站</a>| <a href="http://xxx6688.com" target="_blank">美女诱惑黄网站一区</a>| <a href="http://www33779.com" target="_blank">久久综合九色综合欧美就去吻</a>| <a href="http://japanjavbibi.com" target="_blank">亚洲第一精品久久忘忧草社区</a>| <a href="http://909059c.com" target="_blank">农夫在线精品视频免费观看</a>| <a href="http://3b6f.com" target="_blank">欧美大片网址</a>| <a href="http://023nszz.com" target="_blank">午夜国产精品影院在线观看</a>| <a href="http://hankanzhan.com" target="_blank">欧美在线亚洲一区</a>| <a href="http://cytus2wiki.com" target="_blank">亚洲激情在线观看</a>| <a href="http://qdssqt.com" target="_blank">亚洲视频精品</a>| <a href="http://sxhrdyb.com" target="_blank">亚洲第一精品夜夜躁人人爽</a>| <a href="http://zzztt04.com" target="_blank">亚洲精品欧洲精品</a>| <a href="http://am3757.com" target="_blank">国产亚洲精品久</a>| <a href="http://wwwn94.com" target="_blank">亚洲国产精品www</a>| <a href="http://域名" target="_blank">国产精品乱人伦中文</a>| <a href="http://lovehefei.com" target="_blank">久久美女艺术照精彩视频福利播放</a>| <a href="http://cancerrxa.com" target="_blank">女人天堂亚洲aⅴ在线观看</a>| <a href="http://41818c.com" target="_blank">亚洲小说欧美另类婷婷</a>| <a href="http://kk8c.com" target="_blank">久久国产精品99国产精</a>| <a href="http://596361.com" target="_blank">99国内精品</a>| <a href="http://liuyangzi.com" target="_blank">欧美伊人久久大香线蕉综合69</a>| <a href="http://24kshopss.com" target="_blank">亚洲欧洲在线一区</a>| <a href="http://birhit.com" target="_blank">亚洲欧美韩国</a>| <a href="http://4466o.com" target="_blank">一本一本久久a久久精品牛牛影视</a>| <a href="http://9797690.com" target="_blank">亚洲男人的天堂在线aⅴ视频</a>| <a href="http://kpd521.com" target="_blank">亚洲国产欧美日韩另类综合</a>| <a href="http://ks180.com" target="_blank">亚洲在线国产日韩欧美</a>| <a href="http://551692.com" target="_blank">亚洲日本中文字幕区</a>| <a href="http://cswlts.com" target="_blank">香蕉国产精品偷在线观看不卡</a>| <a href="http://www-293456.com" target="_blank">亚洲精品久久久久中文字幕欢迎你 </a>| <a href="http://8222666.com" target="_blank">亚洲一区二区三区在线看 </a>| <a href="http://hhhtalk.com" target="_blank">日韩视频免费看</a>| <a href="http://youminwang.com" target="_blank">狠狠色综合一区二区</a>| <a href="http://nbpacking.com" target="_blank">一本久久知道综合久久</a>| <a href="http://www-ty66.com" target="_blank">在线精品视频免费观看</a>| <a href="http://551753.com" target="_blank">午夜久久福利</a>| <a href="http://www-662553.com" target="_blank">亚洲欧美国产毛片在线</a>| <a href="http://uniconmgt.com" target="_blank">欧美成人首页</a>| <a href="http://6u6uuu666.com" target="_blank">免费成人av在线</a>| <a href="http://7885888.com" target="_blank">国产一区二区三区四区五区美女</a>| <a href="http://0000zz.com" target="_blank">一区二区激情视频</a>| <a href="http://486be.com" target="_blank">亚洲裸体视频</a>| <a href="http://aaddgg66.com" target="_blank">美女国内精品自产拍在线播放</a>| <a href="http://3597777.com" target="_blank">久久不见久久见免费视频1</a>| <a href="http://7770790.com" target="_blank">欧美三级视频在线观看</a>| <a href="http://430390.com" target="_blank">亚洲激情在线播放</a>| <a href="http://kan0577.com" target="_blank">亚洲国产欧美一区二区三区同亚洲</a>| <a href="http://www-136hk.com" target="_blank">亚洲欧美日韩国产综合精品二区</a>| <a href="http://szsywine.com" target="_blank">亚洲午夜电影在线观看</a>| <a href="http://98tangav.com" target="_blank">欧美激情亚洲综合一区</a>| <a href="http://www-69669.com" target="_blank">亚洲大片免费看</a>| <a href="http://456kp.com" target="_blank">亚洲国产精品视频一区</a>| <a href="http://qq666qq.com" target="_blank">久久久久国色av免费观看性色</a>| <a href="http://erzhuzi.com" target="_blank">久久久精品一区二区三区</a>| <a href="http://xsjj10.com" target="_blank">国产精品一区免费视频</a>| <a href="http://151545.com" target="_blank">亚洲一区免费看</a>| <a href="http://filmcameralibrary.com" target="_blank">亚洲欧美日韩精品在线</a>| <a href="http://5c55c5c.com" target="_blank">国产精品高潮呻吟</a>| <a href="http://goldteddy.com" target="_blank">亚洲一区二区三区在线视频</a>| <a href="http://961318.com" target="_blank">亚洲一区二区在线看</a>| <a href="http://clwjbcxs.com" target="_blank">欧美四级电影网站</a>| <a href="http://v58q.com" target="_blank">亚洲午夜久久久</a>| <a href="http://sdsptl.com" target="_blank">欧美亚洲日本国产</a>| <a href="http://jizz16.com" target="_blank">国产视频在线观看一区二区</a>| <a href="http://40346c.com" target="_blank">欧美一区二区三区免费看</a>| <a href="http://fs-nanxiang.com" target="_blank">久久精品国产亚洲一区二区三区</a>| <a href="http://456888com.com" target="_blank">国产伦精品一区二区三</a>| <a href="http://www201314.com" target="_blank">欧美一区二区在线</a>| <a href="http://215920.com" target="_blank">六十路精品视频</a>| <a href="http://hy1598.com" target="_blank">日韩视频不卡</a>| <a href="http://987gqb.com" target="_blank">欧美午夜不卡视频</a>| <a href="http://jafzjz.com" target="_blank">亚洲欧美日韩精品一区二区</a>| <a href="http://caopormo.com" target="_blank">久久精品99国产精品酒店日本</a>| <a href="http://283575.com" target="_blank">国产综合色一区二区三区</a>| <a href="http://szsywine.com" target="_blank">久久久久久久久伊人</a>| <a href="http://xxxcalls.com" target="_blank">亚洲国产一区二区三区在线播 </a>| <a href="http://3233328.com" target="_blank">亚洲一区国产</a>| <a href="http://638179.com" target="_blank">国产视频一区欧美</a>| <a href="http://fengboll.com" target="_blank">老司机午夜免费精品视频</a>| <a href="http://hafenchen.com" target="_blank">亚洲高清久久</a>| <a href="http://77smsm.com" target="_blank">亚洲欧美综合精品久久成人</a>| <a href="http://www-3844444.com" target="_blank">国产精品自拍三区</a>| <a href="http://00000i.com" target="_blank">久久一区激情</a>| <a href="http://bandycup.com" target="_blank">日韩亚洲在线</a>| <a href="http://ww3838.com" target="_blank">久久亚洲私人国产精品va媚药</a>| <a href="http://www-82622.com" target="_blank">91久久精品国产91久久</a>| <a href="http://66889h.com" target="_blank">欧美性色综合</a>| <a href="http://pmref.com" target="_blank">久久久亚洲精品一区二区三区</a>| <a href="http://8004006.com" target="_blank">亚洲欧洲综合</a>| <a href="http://498626.com" target="_blank">久久精品盗摄</a>| <a href="http://apap77.com" target="_blank">一区二区三区成人</a>| <a href="http://wzsl8.com" target="_blank">韩国视频理论视频久久</a>| <a href="http://hhhtalk.com" target="_blank">欧美日韩高清在线观看</a>| <a href="http://119663.com" target="_blank">欧美一区二区三区视频免费播放</a>| <a href="http://www5123ri.com" target="_blank">欧美护士18xxxxhd</a>| <a href="http://woshinannan741.com" target="_blank">性欧美xxxx大乳国产app</a>| <a href="http://www-222kkk.com" target="_blank">在线日本成人</a>| <a href="http://65kf.com" target="_blank">国产欧美短视频</a>| <a href="http://119663.com" target="_blank">欧美精品三级</a>| <a href="http://567acg.com" target="_blank">久久久一二三</a>| <a href="http://744734.com" target="_blank">亚洲一区在线免费</a>| <a href="http://548710.com" target="_blank">亚洲级视频在线观看免费1级</a>| <a href="http://4388x3.com" target="_blank">西瓜成人精品人成网站</a>| <a href="http://www4848xx.com" target="_blank">亚洲黄色在线视频</a>| <a href="http://8111357.com" target="_blank">国产一区二区黄色</a>| <a href="http://34ak.com" target="_blank">国产精品va在线播放</a>| <a href="http://777777hd.com" target="_blank">你懂的视频一区二区</a>| <a href="http://9113c.com" target="_blank">欧美在线网址</a>| <a href="http://www979vv.com" target="_blank">亚洲五月婷婷</a>| <a href="http://d77dd.com" target="_blank">99av国产精品欲麻豆</a>| <a href="http://126film.com" target="_blank">免费亚洲一区二区</a>| <a href="http://787299.com" target="_blank">久久九九久精品国产免费直播</a>| <a href="http://788997.com" target="_blank">在线亚洲欧美专区二区</a>| <a href="http://balqueen.com" target="_blank">亚洲国产精品ⅴa在线观看</a>| <a href="http://hzjqkj.com" target="_blank">国产欧美一区视频</a>| <a href="http://557523.com" target="_blank">欧美调教视频</a>| <a href="http://gzhachi.com" target="_blank">欧美日韩国产成人在线免费</a>| <a href="http://www672hh.com" target="_blank">久久综合网色—综合色88</a>| <a href="http://yahuake.com" target="_blank">欧美一区成人</a>| <a href="http://2456yo.com" target="_blank">亚洲综合色婷婷</a>| <a href="http://wanyoulipin.com" target="_blank">中文欧美字幕免费</a>| <a href="http://www-ty177.com" target="_blank">99国产精品久久久</a>| <a href="http://yashikeji.com" target="_blank">亚洲高清中文字幕</a>| <a href="http://yyypdq.com" target="_blank">亚洲福利国产精品</a>| <a href="http://329374.com" target="_blank">欧美gay视频激情</a>| <a href="http://855821.com" target="_blank">噜噜噜噜噜久久久久久91 </a>| <a href="http://710195.com" target="_blank">久久激情综合网</a>| <a href="http://894322.com" target="_blank">午夜欧美理论片</a>| <a href="http://erosgems.com" target="_blank">亚洲新中文字幕</a>| <a href="http://xxxcalls.com" target="_blank">亚洲一区二区三区视频</a>| <a href="http://www7495.com" target="_blank">在线视频精品一</a>| <a href="http://283575.com" target="_blank">一区二区冒白浆视频</a>| <a href="http://hg4958.com" target="_blank">一区二区三区蜜桃网</a>| <a href="http://www-94889.com" target="_blank">一区二区三区国产精品</a>| <a href="http://quanfadq.com" target="_blank">99综合精品</a>| <a href="http://kan0577.com" target="_blank">亚洲一级二级</a>| <a href="http://hoppecoke.com" target="_blank">亚洲欧美电影在线观看</a>| <a href="http://coolpaly.com" target="_blank">亚洲欧美日韩成人</a>| <a href="http://instantptt.com" target="_blank">亚洲欧美一区二区三区极速播放</a>| <a href="http://www-4157.com" target="_blank">亚洲欧美另类国产</a>| <a href="http://kpd521.com" target="_blank">欧美在线免费视屏</a>| <a href="http://dv6699.com" target="_blank">久久久久国内</a>| <a href="http://xsjgxx.com" target="_blank">免费看成人av</a>| <a href="http://wy172.com" target="_blank">91久久在线播放</a>| <a href="http://11867a.com" target="_blank">国产一区观看</a>| <a href="http://xiphosoft.com" target="_blank">极品尤物av久久免费看</a>| <a href="http://www-88899.com" target="_blank">在线观看欧美精品</a>| <a href="http://9952222.com" target="_blank">亚洲精品免费看</a>| <a href="http://743627.com" target="_blank">亚洲一区二区在线免费观看</a>| <a href="http://babylonmovi.com" target="_blank">性久久久久久久</a>| <a href="http://668756.com" target="_blank">久久男人资源视频</a>| <a href="http://www280999.com" target="_blank">欧美激情91</a>| <a href="http://lmjqav.com" target="_blank">夜夜嗨网站十八久久</a>| <a href="http://fjccjq.com" target="_blank">午夜精品久久久久久99热</a>| <a href="http://jlkcjz.com" target="_blank">欧美自拍丝袜亚洲</a>| <a href="http://223zzz.com" target="_blank">欧美成人日韩</a>| <a href="http://xaxkizlar.com" target="_blank">国产精品久久久久久久久果冻传媒 </a>| <a href="http://080973.com" target="_blank">亚洲欧美国产高清va在线播</a>| <a href="http://jiazhuangma.com" target="_blank">亚洲欧美日韩国产成人精品影院</a>| <a href="http://www-498787.com" target="_blank">欧美亚洲视频在线看网址</a>| <a href="http://mes-dvd.com" target="_blank">久久男女视频</a>| <a href="http://iotbzw.com" target="_blank">亚洲免费电影在线</a>| <a href="http://www666se.com" target="_blank">香蕉久久夜色精品</a>| <a href="http://94wr.com" target="_blank">欧美 日韩 国产一区二区在线视频 </a>| <a href="http://798200.com" target="_blank">亚洲国产一区二区a毛片</a>| <a href="http://5474hu.com" target="_blank">99国产欧美久久久精品</a>| <a href="http://lcqrsj.com" target="_blank">性久久久久久久久久久久</a>| <a href="http://tianxiantxtv.com" target="_blank">久久久久久久久久久一区</a>| <a href="http://340332.com" target="_blank">欧美日本免费</a>| <a href="http://www123hao.com" target="_blank">国内久久精品</a>| <a href="http://cc1024.com" target="_blank">亚洲一级二级</a>| <a href="http://saox28.com" target="_blank">免费看的黄色欧美网站</a>| <a href="http://7777525.com" target="_blank">一区二区三区黄色</a>| <a href="http://taikonghua.com" target="_blank">久久亚洲欧美国产精品乐播</a>| <a href="http://dkmcjc.com" target="_blank">欧美日韩亚洲国产精品</a>| <a href="http://www-8438.com" target="_blank">国语对白精品一区二区</a>| <a href="http://mgcc37.com" target="_blank">中文日韩在线</a>| <a href="http://5566kan.com" target="_blank">欧美jizzhd精品欧美巨大免费</a>| <a href="http://yw3329.com" target="_blank">日韩一级精品</a>| <a href="http://tinganji.com" target="_blank">久久综合久久综合九色</a>| <a href="http://737sihu.com" target="_blank">国产精品美女视频网站</a>| <a href="http://senlin86.com" target="_blank">亚洲人被黑人高潮完整版</a>| <a href="http://9966k.com" target="_blank">欧美在线看片</a>| <a href="http://dk13studio.com" target="_blank">亚洲美女色禁图</a>| <a href="http://y7y7s.com" target="_blank">久久在线播放</a>| <a href="http://y3u7.com" target="_blank">国产午夜精品视频</a>| <a href="http://337105.com" target="_blank">亚洲制服丝袜在线</a>| <a href="http://dailymailnepal.com" target="_blank">亚洲第一精品夜夜躁人人爽</a>| <a href="http://elpezomaha.com" target="_blank">亚洲综合色激情五月</a>| <a href="http://www66617.com" target="_blank">欧美日韩成人一区二区</a>| <a href="http://428820.com" target="_blank">亚洲二区在线观看</a>| <a href="http://173168.com" target="_blank">久久成人人人人精品欧</a>| <a href="http://22abb.com" target="_blank">一二美女精品欧洲</a>| <a href="http://x946.com" target="_blank">欧美日韩第一区</a>| <a href="http://xvideoxxnx.com" target="_blank">亚洲欧洲视频</a>| <a href="http://baidubf.com" target="_blank">欧美肥婆在线</a>| <a href="http://ll992.com" target="_blank">久久久噜噜噜久噜久久</a>| <a href="http://www-26333com.com" target="_blank">国产欧美婷婷中文</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>