锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产免费成人av,亚洲激情在线观看,99在线精品观看http://www.shnenglu.com/ioriiod0/zh-cnSun, 16 Nov 2025 00:47:31 GMTSun, 16 Nov 2025 00:47:31 GMT60C++ 鍗忕▼涓庣綉緇滅紪紼?/title><link>http://www.shnenglu.com/ioriiod0/archive/2013/01/01/196890.html</link><dc:creator>姹熸蹈鏈?/dc:creator><author>姹熸蹈鏈?/author><pubDate>Tue, 01 Jan 2013 05:14:00 GMT</pubDate><guid>http://www.shnenglu.com/ioriiod0/archive/2013/01/01/196890.html</guid><wfw:comment>http://www.shnenglu.com/ioriiod0/comments/196890.html</wfw:comment><comments>http://www.shnenglu.com/ioriiod0/archive/2013/01/01/196890.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.shnenglu.com/ioriiod0/comments/commentRss/196890.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ioriiod0/services/trackbacks/196890.html</trackback:ping><description><![CDATA[<h3>鍗忕▼</h3><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">鍗忕▼錛屽嵆鍗忎綔寮忕▼搴忥紝鍏舵濇兂鏄紝涓緋誨垪浜掔浉渚濊禆鐨勫崗紼嬮棿渚濇浣跨敤CPU錛屾瘡嬈″彧鏈変竴涓崗紼嬪伐浣滐紝鑰屽叾浠栧崗紼嬪浜庝紤鐪犵姸鎬併傚崗紼嬪彲浠ュ湪榪愯鏈熼棿鐨勬煇涓偣涓婃殏鍋滄墽琛岋紝騫跺湪鎭㈠榪愯鏃朵粠鏆傚仠鐨勭偣涓婄戶緇墽琛屻?鍗忕▼宸茬粡琚瘉鏄庢槸涓縐嶉潪甯告湁鐢ㄧ殑紼嬪簭緇勪歡錛屼笉浠呰python銆乴ua銆乺uby絳夎剼鏈璦騫挎硾閲囩敤錛岃屼笖琚柊涓浠i潰鍚戝鏍哥殑緙栫▼璇█濡俫olang rust-lang絳夐噰鐢ㄤ綔涓哄茍鍙戠殑鍩烘湰鍗曚綅銆?鍗忕▼鍙互琚涓烘槸涓縐嶇敤鎴風(fēng)┖闂寸嚎紼嬶紝涓庝紶緇熺殑綰跨▼鐩告瘮錛屾湁2涓富瑕佺殑浼樼偣錛?/p><ul style="padding: 0px; margin: 0px 0px 10px 20px; list-style-position: inside; font-family: Verdana, sans-serif, 瀹嬩綋; line-height: normal; background-color: #ffffff;"><li style="padding: 0px; margin: 0px;">涓庣嚎紼嬩笉鍚岋紝鍗忕▼鏄嚜宸變富鍔ㄨ鍑篊PU錛屽茍浜や粯浠栨湡鏈涚殑涓嬩竴涓崗紼嬭繍琛岋紝鑰屼笉鏄湪浠諱綍鏃跺欓兘鏈夊彲鑳借緋葷粺璋冨害鎵撴柇銆傚洜姝ゅ崗紼嬬殑浣跨敤鏇村姞娓呮櫚鏄撴噦錛屽茍涓斿鏁版儏鍐典笅涓嶉渶瑕侀攣鏈哄埗銆?/li><li style="padding: 0px; margin: 0px;">涓庣嚎紼嬬浉姣旓紝鍗忕▼鐨勫垏鎹㈢敱紼嬪簭鎺у埗錛屽彂鐢熷湪鐢ㄦ埛絀洪棿鑰岄潪鍐呮牳絀洪棿錛屽洜姝ゅ垏鎹㈢殑浠d環(huán)闈炲父灝忋?/li></ul><h3>緗戠粶緙栫▼妯″瀷</h3><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">棣栧厛鏉ョ畝鍗曞洖欏句竴涓嬩竴浜涘父鐢ㄧ殑緗戠粶緙栫▼妯″瀷銆傜綉緇滅紪紼嬫ā鍨嬪彲浠ュぇ浣撶殑鍒嗕負(fù)鍚屾妯″瀷鍜屽紓姝ユā鍨嬩袱綾匯?/p><ul style="padding: 0px; margin: 0px 0px 10px 20px; list-style-position: inside; font-family: Verdana, sans-serif, 瀹嬩綋; line-height: normal; background-color: #ffffff;"><li style="padding: 0px; margin: 0px;">鍚屾妯″瀷錛?/li></ul><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">鍚屾妯″瀷浣跨敤闃誨IO妯″紡,鍦ㄩ樆濉濱O妯″紡涓嬭皟鐢╮ead絳塈O鍑芥暟鏃朵細(xì)闃誨綰跨▼鐩村埌IO瀹屾垚鎴栧け璐ャ?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">鍚屾妯″瀷鐨勫吀鍨嬩唬琛ㄦ槸thread per connection妯″瀷錛屾瘡褰撻樆濉炲湪涓葷嚎紼嬩笂鐨刟ccept璋冪敤榪斿洖鏃跺垯鍒涘緩涓涓柊鐨勭嚎紼嬪幓鏈嶅姟浜庢柊鐨剆ocket鐨勮/鍐欍傝繖縐嶆ā鍨嬬殑浼樼偣鏄▼搴忕畝媧侊紝緙栧啓綆鍗曪紱緙虹偣鏄彲浼哥緝鎬ф敹鍒扮嚎紼嬫暟鐨勯檺鍒訛紝褰撹繛鎺ヨ秺鏉ヨ秺澶氭椂錛岀嚎紼嬩篃瓚婃潵瓚婂錛岄綣佺殑綰跨▼鍒囨崲浼?xì)涓ラ噸鎷栫疮鎬ц兘銆?/p><ul style="padding: 0px; margin: 0px 0px 10px 20px; list-style-position: inside; font-family: Verdana, sans-serif, 瀹嬩綋; line-height: normal; background-color: #ffffff;"><li style="padding: 0px; margin: 0px;">寮傛妯″瀷錛?/li></ul><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">寮傛妯″瀷涓鑸嬌鐢ㄩ潪闃誨IO妯″紡錛屽茍閰嶅悎epoll/select/poll絳夊璺鐢ㄦ満鍒躲傚湪闈為樆濉炴ā寮忎笅璋冪敤read錛屽鏋滄病鏈夋暟鎹彲璇誨垯绔嬪嵆榪斿洖騫墮氱煡鐢ㄦ埛娌℃湁鍙錛圗AGAIN/EWOULDBLOCK錛夛紝鑰岄潪闃誨褰撳墠綰跨▼銆傚紓姝ユā鍨嬪彲浠ヤ嬌涓涓嚎紼嬪悓鏃舵湇鍔′簬澶氫釜IO瀵硅薄銆?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">寮傛妯″瀷鐨勫吀鍨嬩唬琛ㄦ槸reactor妯″瀷銆傚湪reactor妯″瀷涓紝鎴戜滑灝嗘墍鏈夎澶勭悊鐨処O浜嬩歡娉ㄥ唽鍒頒竴涓腑蹇冪殑IO澶氳礬澶嶇敤鍣ㄤ腑錛堜竴鑸負(fù)epoll/select/poll錛夛紝鍚屾椂涓葷嚎紼嬮樆濉炲湪澶氳礬澶嶇敤鍣ㄤ笂銆備竴鏃︽湁IO浜嬩歡鍒版潵鎴栬呭氨緇紝澶氳礬澶嶇敤鍣ㄨ繑鍥炲茍灝嗗搴旂殑IO浜嬩歡鍒嗗彂鍒板搴旂殑澶勭悊鍣紙鍗沖洖璋冨嚱鏁幫級涓紝鏈鍚庡鐞嗗櫒璋冪敤read/write鍑芥暟鏉ヨ繘琛孖O鎿嶄綔銆?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">寮傛妯″瀷鐨勭壒鐐規(guī)槸鎬ц兘鍜屽彲浼哥緝鎬ф瘮鍚屾妯″瀷瑕佸ソ寰堝錛屼絾鏄叾緇撴瀯澶嶆潅錛屼笉鏄撲簬緙栧啓鍜岀淮鎶ゃ傚湪寮傛妯″瀷涓紝IO涔嬪墠鐨勪唬鐮侊紙IO浠誨姟鐨勬彁浜よ咃級鍜孖O涔嬪悗鐨勫鐞嗕唬鐮侊紙鍥炶皟鍑芥暟錛夋槸鍓茶寮鏉ョ殑銆?/p><h3>鍗忕▼涓庣綉緇滅紪紼?/h3><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">鍗忕▼涓哄厠鏈嶅悓姝ユā鍨嬪拰寮傛妯″瀷鐨勭己鐐癸紝騫剁粨鍚堜粬浠殑浼樼偣鎻愪緵浜嗗彲鑳斤細(xì) 鐜板湪鍋囪鎴戜滑鏈?涓崗紼婣,B,C鍒嗗埆瑕佽繘琛屾暟嬈O鎿嶄綔銆傝繖3涓崗紼嬭繍琛屽湪鍚屼竴涓皟搴﹀櫒鎴栬呰綰跨▼鐨勪笂涓嬫枃涓紝騫朵緷嬈′嬌鐢–PU銆傝皟搴﹀櫒鍦ㄥ叾鍐呴儴緇存姢浜嗕竴涓璺鐢ㄥ櫒錛坋poll/select/poll錛夈?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">鍗忕▼A棣栧厛榪愯錛屽綋瀹冩墽琛屽埌涓涓狪O鎿嶄綔錛屼絾璇O鎿嶄綔騫舵病鏈夌珛鍗沖氨緇椂錛孉灝嗚IO浜嬩歡娉ㄥ唽鍒拌皟搴﹀櫒涓紝騫朵富鍔ㄦ斁寮僀PU銆傝繖鏃惰皟搴﹀櫒灝咮鍒囨崲鍒癈PU涓婂紑濮嬫墽琛岋紝鍚屾牱錛屽綋瀹冪鍒頒竴涓狪O鎿嶄綔鐨勬椂鍊欏皢IO浜嬩歡娉ㄥ唽鍒拌皟搴﹀櫒涓紝騫朵富鍔ㄦ斁寮僀PU銆傝皟搴﹀櫒灝咰鍒囨崲鍒癱pu涓婂紑濮嬫墽琛屻傚綋鎵鏈夊崗紼嬮兘琚?#8220;闃誨”鍚庯紝璋冨害鍣ㄦ鏌ユ敞鍐岀殑IO浜嬩歡鏄惁鍙戠敓鎴栧氨緇傚亣璁炬鏃跺崗紼婤娉ㄥ唽鐨処O鏃墮棿宸茬粡灝辯華錛岃皟搴﹀櫒灝嗘仮澶岯鐨勬墽琛岋紝B灝嗕粠涓婃鏀懼純CPU鐨勫湴鏂規(guī)帴鐫鍚戜笅榪愯銆侫鍜孋鍚岀悊銆?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">榪欐牱錛屽浜庢瘡涓涓崗紼嬫潵璇達(dá)紝鏄悓姝ョ殑妯″瀷錛涗絾鏄浜庢暣涓簲鐢ㄧ▼搴忔潵璇達(dá)紝鍗存槸寮傛鐨勬ā鍨嬨?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">濂戒簡錛屽師鐞嗚瀹屼簡錛屾垜浠潵鐪嬩竴涓疄闄呯殑渚嬪瓙錛宔cho server銆?/p><h3>echo server</h3><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">鍦ㄨ繖涓緥瀛愪腑錛屾垜浠皢浣跨敤orchid搴撴潵緙栧啓涓涓猠cho server銆?a rel="nofollow" style="padding: 0px; margin: 0px; color: #4466bb; outline: 0px;">orchid</a>搴撴槸涓涓瀯寤轟簬boost鍩虹涓婄殑 鍗忕▼/緗戠粶IO 搴撱?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">echo server棣栧厛蹇呴』瑕佸鐞嗚繛鎺ヤ簨浠訛紝鎴戜滑鍒涘緩涓涓崗紼嬫潵涓撻棬澶勭悊榪炴帴浜嬩歡錛?/p><pre style="padding: 5px; margin-top: 10px; margin-bottom: 10px; line-height: 18px; font-size: 9pt; font-family: 'Courier New', Arial; border-width: 1px 1px 1px 5px; border-style: solid; border-color: #dddddd #dddddd #dddddd #6ce26c; background-color: #f6f6f6;"><code style="padding: 0px; margin: 0px; border: none; background-color: transparent; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;">typedef boost::shared_ptr<orchid::socket> socket_ptr; <br />//澶勭悊ACCEPT浜嬩歡鐨勫崗紼?<br />void handle_accept(orchid::coroutine_handle co) {<br /> try { <br />         orchid::acceptor acceptor(co -> get_scheduler().get_io_service());//鏋勫緩涓涓猘cceptor<br /> acceptor.bind_and_listen("5678",true); <br />         for(;;) { <br />            socket_ptr sock(new orchid::socket(co -> get_scheduler().get_io_service()));<br /> acceptor.accept(*sock,co); <br />            <span style="background-color: transparent; font-family: 'Courier New', Arial; font-size: 9pt;">//鍦ㄨ皟搴﹀櫒涓婂垱寤轟竴涓崗紼嬫潵鏈嶅姟鏂扮殑socket銆?/span><span style="background-color: transparent; font-family: 'Courier New', Arial; font-size: 9pt;">絎竴涓弬鏁版槸瑕佸垱寤虹殑鍗忕▼鐨刴ain鍑芥暟錛?/span><span style="background-color: transparent; font-family: 'Courier New', Arial; font-size: 9pt;">絎簩涓弬鏁版槸瑕佸垱寤虹殑鍗忕▼鐨勬爤鐨勫ぇ灝忋?/span><br />            co -> get_scheduler().spawn(boost::bind(handle_io,_1,sock),orchid::minimum_stack_size());<br /> }<br /> } catch(boost::system::system_error& e) {<br />            cerr<<e.code()<<" "<<e.what()<<endl;<br /> } <br />} </code></pre><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">鍦╫rchid涓紝鍗忕▼鐨刴ain鍑芥暟蹇呴』婊¤凍鍑芥暟絳懼悕void(orchid::coroutine_handle)錛屽handle_accept鎵紺猴紝鍏朵腑鍙傛暟co鏄崗紼嬪彞鏌勶紝浠h〃浜嗗綋鍓嶅嚱鏁版墍浣嶄簬鐨勫崗紼嬨?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">鍦ㄤ笂闈㈢殑浠g爜涓紝鎴戜滑鍒涘緩浜嗕竴涓猘cceptor錛屽茍璁╁畠鐩戝惉5678绔彛錛岀劧鍚庡湪"闃誨"絳夊緟榪炴帴鍒版潵錛屽綋榪炴帴浜嬩歡鍒版潵鏃訛紝鍒涘緩涓涓柊鐨勫崗紼嬫潵鏈嶅姟鏂扮殑socket銆傚鐞嗗鎺ュ瓧IO鐨勫崗紼嬪涓嬶細(xì)</p><pre style="padding: 5px; margin-top: 10px; margin-bottom: 10px; line-height: 18px; font-size: 9pt; font-family: 'Courier New', Arial; border-width: 1px 1px 1px 5px; border-style: solid; border-color: #dddddd #dddddd #dddddd #6ce26c; background-color: #f6f6f6;"><code style="padding: 0px; margin: 0px; border: none; background-color: transparent; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;">//澶勭悊SOCKET IO浜嬩歡鐨勫崗紼?<br />void handle_io(orchid::coroutine_handle co,socket_ptr sock) { <br />   orchid::tcp_ostream out(*sock,co); <br />   orchid::tcp_istream in(*sock,co); <br />   for(std::string str;std::getline(in, str) && out;) {<br />      out<<str<<endl; <br />   } <br />} </code></pre><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">IO澶勭悊鍗忕▼棣栧厛鍦ㄤ紶鍏ョ殑濂楁帴瀛椾笂鍒涘緩浜嗕竴涓緭鍏ユ祦鍜屼竴涓緭鍑烘祦錛屽垎鍒唬琛ㄤ簡TCP鐨勮緭鍏ュ拰杈撳嚭銆傜劧鍚庝笉鏂湴浠庤緭鍏ユ祦涓鍙栦竴琛岋紝騫惰緭鍑哄埌杈撳嚭嫻佸綋涓傚綋socket涓婄殑TCP榪炴帴鏂紑鏃訛紝杈撳叆嫻佸拰杈撳嚭嫻佺殑eof鏍囧織涓轟細(xì)琚疆浣嶏紝鍥犳寰幆緇撴潫錛屽崗紼嬮鍑恒?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">orchid鍙互浣跨敤鎴蜂互嫻佺殑褰㈠紡鏉ユ搷浣滃鎺ュ瓧銆傝緭鍏ユ祦鍜岃緭鍑烘祦鍒嗗埆鎻愪緵浜唖td::istream鍜宻td::ostream鐨勬帴鍙o紱杈撳叆嫻佸拰杈撳嚭嫻佹槸甯︾紦鍐茬殑錛屽鏋滅敤鎴烽渶瑕佹棤緙撳啿鐨勮鍐檚ocket鎴栬呰嚜寤虹紦鍐詫紝鍙互鐩存帴璋冪敤orchid::socket鐨剅ead鍜寃rite鍑芥暟銆備絾鏄渶瑕佹敞鎰忚繖涓や釜鍑芥暟浼?xì)鎶涘嚭boost::system_error寮傚父鏉ヨ〃紺洪敊璇?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">緇嗗績鐨勮鑰呭彲鑳藉凡緇忓彂鐜幫紝handle_io鐨勫嚱鏁扮鍚嶅茍涓嶆弧瓚硋oid(orchid::coroutine_handle)錛屽洖鍒癶andle_accept涓紝鍙互鍙戠幇錛屽疄闄呬笂鎴戜滑浣跨敤浜哹oost.bind瀵筯andle _ io鍑芥暟榪涜浜嗛傞厤錛屼嬌涔嬬鍚堝嚱鏁扮鍚嶇殑瑕佹眰銆?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">鏈鍚庢槸main鍑芥暟錛?/p><pre style="padding: 5px; margin-top: 10px; margin-bottom: 10px; line-height: 18px; font-size: 9pt; font-family: 'Courier New', Arial; border-width: 1px 1px 1px 5px; border-style: solid; border-color: #dddddd #dddddd #dddddd #6ce26c; background-color: #f6f6f6;"><code style="padding: 0px; margin: 0px; border: none; background-color: transparent; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;">int main() { <br />   orchid::scheduler sche; <br />   sche.spawn(handle_accept,orchid::coroutine::minimum_stack_size());//鍒涘緩鍗忕▼ <br />   sche.run(); <br />} </code></pre><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">鍦ㄤ笂闈㈣繖涓猠cho server鐨勪緥瀛愪腑錛屾垜浠噰鐢ㄤ簡涓縐?coroutine per connection 鐨勭紪紼嬫ā鍨嬶紝涓庝紶緇熺殑 thread per connection 妯″瀷涓鏍風(fēng)殑綆媧佹竻鏅幫紝浣嗘槸鏁翠釜紼嬪簭瀹為檯涓婅繍琛屽湪鍚屼竴綰跨▼褰撲腑銆?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">鐢變簬鍗忕▼鐨勫垏鎹㈠紑閿榪滆繙灝忎簬綰跨▼錛屽洜姝ゆ垜浠彲浠ヨ交鏄撶殑鍚屾椂鍚姩涓婂崈鍗忕▼鏉ュ悓鏃舵湇鍔′笂鍗冭繛鎺ワ紝榪欐槸 thread per connection鐨勬ā鍨嬪緢闅懼仛鍒扮殑錛涘湪鎬ц兘鏂歸潰錛屾暣涓簳灞傜殑IO緋葷粺瀹為檯涓婃槸浣跨敤boost.asio榪欑楂樻ц兘鐨勫紓姝o搴撳疄鐜扮殑銆傝屼笖涓嶪O鎵璐圭殑鏃墮棿鐩告瘮錛屽崗紼嬪垏鎹㈢殑寮閿鍩烘湰鍙互蹇界暐銆?/p><p style="padding: 0px; margin: 0px 0px 15pt; line-height: 1.5; letter-spacing: 1px; font-family: Verdana, sans-serif, 瀹嬩綋; background-color: #ffffff;">鍥犳閫氳繃鍗忕▼錛屾垜浠彲浠ュ湪淇濇寔鍚屾IO妯″瀷綆媧佹х殑鍚屾椂錛岃幏寰楄繎浼間簬寮傛IO妯″瀷鐨勯珮鎬ц兘銆?/p><img src ="http://www.shnenglu.com/ioriiod0/aggbug/196890.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ioriiod0/" target="_blank">姹熸蹈鏈?/a> 2013-01-01 13:14 <a href="http://www.shnenglu.com/ioriiod0/archive/2013/01/01/196890.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>涓簊td::tuple娣誨姞鏍煎紡鍖?搴忓垪鍖栨敮鎸?/title><link>http://www.shnenglu.com/ioriiod0/archive/2011/11/28/161049.html</link><dc:creator>姹熸蹈鏈?/dc:creator><author>姹熸蹈鏈?/author><pubDate>Sun, 27 Nov 2011 21:17:00 GMT</pubDate><guid>http://www.shnenglu.com/ioriiod0/archive/2011/11/28/161049.html</guid><wfw:comment>http://www.shnenglu.com/ioriiod0/comments/161049.html</wfw:comment><comments>http://www.shnenglu.com/ioriiod0/archive/2011/11/28/161049.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/ioriiod0/comments/commentRss/161049.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ioriiod0/services/trackbacks/161049.html</trackback:ping><description><![CDATA[<div><h1><span style="line-height: normal; ">杞澆璇鋒敞鏄庡嚭澶勩傝阿璋?/span></h1></div>C++11涓湁寰堝嬋鍔ㄤ漢蹇冪殑鐗規(guī)?浣嗘槸鐩稿簲鐨勪嬌寰桟++鏇村姞澶嶆潅銆傘傘?br /><font class="Apple-style-span" face="Simsun" size="3"><span id="hvzpftn" class="Apple-style-span" style="line-height: normal; ">鏂版爣鍑嗚繕淇敼浜嗗師鏈夋爣鍑嗗簱錛屽茍澧炲姞浜嗗緢澶氬唴瀹廣?br /><br />鍦ㄥ涔?fàn)鏂版爣鍑嗙殑杩嚱E嬩腑鍔ㄦ墜鍐欎簡涓?涓簊td::tuple澧炲姞鏍煎紡鍖?搴忓垪鍖栬兘鍔涚殑涓灝忔浠g爜<br /><br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">#define</span><span style="color: #000000; "> DECLARE_TUPLE_SERIALIZATION_FUNCTION(FUNC_NAME,BEG,SEP,END)     \</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">namespace</span><span style="color: #000000; "> sjdfsjfyttsaihfah6755jsdf554433356sdf{                        \<br />template </span><span style="color: #000000; "><</span><span style="color: #000000; ">typename Tuple,std::size_t N</span><span style="color: #000000; ">></span><span style="color: #000000; ">                                 \<br /></span><span style="color: #0000FF; ">struct</span><span style="color: #000000; "> tuple_printer                                                    \<br />{                                                                       \<br />    </span><span style="color: #0000FF; ">static</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> print(std::ostream</span><span style="color: #000000; ">&</span><span style="color: #000000; "> os,</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> Tuple</span><span style="color: #000000; ">&</span><span style="color: #000000; "> t)                  \<br />    {                                                                   \<br />        os</span><span style="color: #000000; "><<</span><span style="color: #000000; ">std::</span><span style="color: #0000FF; ">get</span><span style="color: #000000; "><</span><span style="color: #000000; ">std::tuple_size</span><span style="color: #000000; "><</span><span style="color: #000000; ">Tuple</span><span style="color: #000000; ">></span><span style="color: #000000; ">::value </span><span style="color: #000000; ">-</span><span style="color: #000000; "> N </span><span style="color: #000000; ">></span><span style="color: #000000; ">(t)</span><span style="color: #000000; "><<</span><span style="color: #000000; ">SEP;       \<br />        tuple_printer</span><span style="color: #000000; "><</span><span style="color: #000000; ">Tuple,N</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">></span><span style="color: #000000; ">::print(os,t);                          \<br />    }                                                                   \<br />};                                                                      \<br />                                                                        \<br />template </span><span style="color: #000000; "><</span><span style="color: #000000; ">typename Tuple</span><span style="color: #000000; ">></span><span style="color: #000000; ">                                               \<br /></span><span style="color: #0000FF; ">struct</span><span style="color: #000000; "> tuple_printer</span><span style="color: #000000; "><</span><span style="color: #000000; ">Tuple,</span><span style="color: #000000; ">1</span><span style="color: #000000; ">></span><span style="color: #000000; ">                                           \<br />{                                                                       \<br />    </span><span style="color: #0000FF; ">static</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> print(std::ostream</span><span style="color: #000000; ">&</span><span style="color: #000000; "> os,</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> Tuple</span><span style="color: #000000; ">&</span><span style="color: #000000; "> t)                  \<br />    {                                                                   \<br />        os</span><span style="color: #000000; "><<</span><span style="color: #000000; ">std::</span><span style="color: #0000FF; ">get</span><span style="color: #000000; "><</span><span style="color: #000000; ">std::tuple_size</span><span style="color: #000000; "><</span><span style="color: #000000; ">Tuple</span><span style="color: #000000; ">></span><span style="color: #000000; ">::value</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">></span><span style="color: #000000; ">(t);               \<br />    }                                                                   \<br />};                                                                      \<br />}                                                                       \<br />template </span><span style="color: #000000; "><</span><span style="color: #000000; ">typename Tuple</span><span style="color: #000000; ">></span><span style="color: #000000; ">                                               \<br /></span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> FUNC_NAME(std::ostream</span><span style="color: #000000; ">&</span><span style="color: #000000; "> os,</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> Tuple</span><span style="color: #000000; ">&</span><span style="color: #000000; "> t)                         \<br />{                                                                       \<br />    os</span><span style="color: #000000; "><<</span><span style="color: #000000; ">BEG;                                                            \<br />    sjdfsjfyttsaihfah6755jsdf554433356sdf::tuple_printer</span><span style="color: #000000; "><</span><span style="color: #000000; ">Tuple,std::tuple_size</span><span style="color: #000000; "><</span><span style="color: #000000; ">Tuple</span><span style="color: #000000; ">></span><span style="color: #000000; ">::value</span><span style="color: #000000; ">></span><span style="color: #000000; ">::print(os,t);    \<br />    os</span><span style="color: #000000; "><<</span><span style="color: #000000; ">END;                                                            \<br />}                                                                       <br /></span></div></span></font><font class="Apple-style-span" face="Simsun" size="3"><span id="hvzpftn" class="Apple-style-span" style="line-height: normal; ">瀹炵幇鎴愬畯鏄負(fù)浜嗕嬌鐢ㄨ搗鏉ユ洿鏂逛究錛屽彲浠ラ殢鎰忔寚瀹?鍑芥暟鍚?鍓嶇紑 鍒嗛殧絎?鍜?鍚庣紑銆?br />浣跨敤鏂規(guī)硶濡備笅錛?br /><br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">DECLARE_TUPLE_SERIALIZATION_FUNCTION(serialize_tuple,</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; ">"</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; ">)<br /><br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> main()<br />{<br />    </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">10</span><span style="color: #000000; ">;<br />    auto a </span><span style="color: #000000; ">=</span><span style="color: #000000; "> std::make_tuple(</span><span style="color: #000000; ">3</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">lala</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,i,</span><span style="color: #000000; ">'</span><span style="color: #000000; ">c</span><span style="color: #000000; ">'</span><span style="color: #000000; ">);</span><span style="color: #000000; "><br />    serialize_tuple(std::cout,a); <br />}</span></div><br />杈撳嚭涓猴細(xì)<br /><3 , "lala" , 10 , c><br /><br />嫻嬭瘯鐜涓篏CC 4.5錛屾敞鎰忕紪璇戞椂鍊欒鎵撳紑C++0X鏀寔銆?br /><br /><br /></span></font><img src ="http://www.shnenglu.com/ioriiod0/aggbug/161049.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ioriiod0/" target="_blank">姹熸蹈鏈?/a> 2011-11-28 05:17 <a href="http://www.shnenglu.com/ioriiod0/archive/2011/11/28/161049.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍋歁TK絎旇瘯鐨勬葷粨錛堜簩錛夛紞錛岰錛嬶紜 榪斿洖鍊間紭鍖栵紙RVO錛?/title><link>http://www.shnenglu.com/ioriiod0/archive/2011/08/13/153300.html</link><dc:creator>姹熸蹈鏈?/dc:creator><author>姹熸蹈鏈?/author><pubDate>Sat, 13 Aug 2011 13:38:00 GMT</pubDate><guid>http://www.shnenglu.com/ioriiod0/archive/2011/08/13/153300.html</guid><wfw:comment>http://www.shnenglu.com/ioriiod0/comments/153300.html</wfw:comment><comments>http://www.shnenglu.com/ioriiod0/archive/2011/08/13/153300.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.shnenglu.com/ioriiod0/comments/commentRss/153300.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ioriiod0/services/trackbacks/153300.html</trackback:ping><description><![CDATA[<span id="hvzpftn" class="Apple-style-span" style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19px; background-color: #ffffff; ">棰樼洰浜岋細(xì)<br />   棰樼洰鎴戝仛浜嗕笅鏀瑰彉錛屼嬌鐢ㄤ簡涓婄瘒鏂囩珷涓彁鍒扮殑閭d釜綾籜錛屼唬鐮佸涓嬶細(xì)<br /><br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #0000FF; ">class</span><span style="color: #000000; "> X<br /></span><span style="color: #008080; "> 2</span> <span style="color: #000000; ">{<br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br /></span><span style="color: #008080; "> 4</span> <span style="color: #000000; ">    X(){cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">default construct</span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;}<br /></span><span style="color: #008080; "> 5</span> <span style="color: #000000; ">    X(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> a):i(a){ cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">construct </span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">i</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;}<br /></span><span style="color: #008080; "> 6</span> <span style="color: #000000; ">    </span><span style="color: #000000; ">~</span><span style="color: #000000; ">X(){ cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">desconstruct </span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">i</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;}<br /></span><span style="color: #008080; "> 7</span> <span style="color: #000000; ">    X(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> x):i(x.i)<br /></span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">    {<br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; ">        cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">copy construct </span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">i</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br /></span><span style="color: #008080; ">10</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">11</span> <span style="color: #000000; ">    X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">++</span><span style="color: #000000; ">()<br /></span><span style="color: #008080; ">12</span> <span style="color: #000000; ">    {<br /></span><span style="color: #008080; ">13</span> <span style="color: #000000; ">        cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">operator ++(pre) </span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">i</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br /></span><span style="color: #008080; ">14</span> <span style="color: #000000; ">        </span><span style="color: #000000; ">++</span><span style="color: #000000; ">i;<br /></span><span style="color: #008080; ">15</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">16</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">17</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> X </span><span style="color: #0000FF; ">operator</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; ">18</span> <span style="color: #000000; ">    {<br /></span><span style="color: #008080; ">19</span> <span style="color: #000000; ">        cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">operator ++(post) </span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">i</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br /></span><span style="color: #008080; ">20</span> <span style="color: #000000; ">        X x(</span><span style="color: #000000; ">*</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">21</span> <span style="color: #000000; ">        </span><span style="color: #000000; ">++</span><span style="color: #000000; ">i;<br /></span><span style="color: #008080; ">22</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> x;<br /></span><span style="color: #008080; ">23</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">24</span> <span style="color: #000000; ">    X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">=</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> m)<br /></span><span style="color: #008080; ">25</span> <span style="color: #000000; ">    {<br /></span><span style="color: #008080; ">26</span> <span style="color: #000000; ">        cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">operator =(int)</span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br /></span><span style="color: #008080; ">27</span> <span style="color: #000000; ">        i </span><span style="color: #000000; ">=</span><span style="color: #000000; "> m;<br /></span><span style="color: #008080; ">28</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">29</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">30</span> <span style="color: #000000; ">    X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">=</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> x)<br /></span><span style="color: #008080; ">31</span> <span style="color: #000000; ">    {<br /></span><span style="color: #008080; ">32</span> <span style="color: #000000; ">        cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">operator =(X)</span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br /></span><span style="color: #008080; ">33</span> <span style="color: #000000; ">        i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">x.i;<br /></span><span style="color: #008080; ">34</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">35</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">36</span> <span style="color: #000000; ">    </span><span style="color: #808080; ">////////////////////////</span><span style="color: #008000; ">/</span><span style="color: #808080; "><br /></span><span style="color: #008080; ">37</span> <span style="color: #808080; "></span><span style="color: #000000; ">    friend ostream</span><span style="color: #000000; ">&</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; "><<</span><span style="color: #000000; ">(ostream</span><span style="color: #000000; ">&</span><span style="color: #000000; "> os,</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> x)<br /></span><span style="color: #008080; ">38</span> <span style="color: #000000; ">    {<br /></span><span style="color: #008080; ">39</span> <span style="color: #000000; ">        os</span><span style="color: #000000; "><<</span><span style="color: #000000; ">x.i;<br /></span><span style="color: #008080; ">40</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> os;<br /></span><span style="color: #008080; ">41</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">42</span> <span style="color: #000000; ">    friend X </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">+</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> a,</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> b)<br /></span><span style="color: #008080; ">43</span> <span style="color: #000000; ">    {<br /></span><span style="color: #008080; ">44</span> <span style="color: #000000; ">        cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">operator +</span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br /></span><span style="color: #008080; ">45</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> X(a.i</span><span style="color: #000000; ">+</span><span style="color: #000000; ">b.i);<br /></span><span style="color: #008080; ">46</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">47</span> <span style="color: #000000; ">    </span><span style="color: #808080; ">////////////////////////</span><span style="color: #008000; ">//</span><span style="color: #808080; "><br /></span><span style="color: #008080; ">48</span> <span style="color: #808080; "></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br /></span><span style="color: #008080; ">49</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> i;<br /></span><span style="color: #008080; ">50</span> <span style="color: #000000; ">};</span></div><br /></span>璇烽棶浠ヤ笅浠g爜鐨勮緭鍑烘槸浠涔堬紵<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span> <span style="color: #000000; ">X a(</span><span style="color: #000000; ">10</span><span style="color: #000000; ">),b(</span><span style="color: #000000; ">20</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">2</span> <span style="color: #000000; ">X c</span><span style="color: #000000; ">=</span><span style="color: #000000; ">a</span><span style="color: #000000; ">+</span><span style="color: #000000; ">b;</span></div><br />鎴戜滑鏉ョ湅涓涓嬩嬌鐢℅CC4.5錛堥粯璁ょ紪璇戦夐」錛変互鍙奙SVC9.0(BOTH DEBUG AND RELEASE)緙栬瘧鍚庣殑瀹為檯榪愯緇撴灉錛?br /><div><div>construct 10</div><div>construct 20</div><div>operator +</div><div>construct 30</div><div>desconstruct 30</div><div>desconstruct 20</div><div>desconstruct 10<br /><br />綆鍗曞垎鏋愪笅榪欎釜杈撳嚭錛?br /><br /><div><div>construct 10 </div><div>construct 20 //瀵瑰簲 X a(10),b(20);</div><div>operator +  //璋冪敤“+”鎿嶄綔絎?/div><div>construct 30 //璋冪敤X(int){...}錛?4琛屽</div><div>desconstruct 30 //鍙橀噺c 鐨勬瀽鏋?/div><div>desconstruct 20 //鍙橀噺b 鐨勬瀽鏋?/div><div>desconstruct 10 //鍙橀噺a 鐨勬瀽鏋?/div></div> 浠庣粨鏋滃彲浠ョ湅鍑猴紝鏁翠釜鎵ц榪囩▼涓病鏈夎緭鍑?#8220;operator=”錛岃鏄庡帇鏍規(guī)病鏈夎皟鐢?#8220;錛?#8221;鎿嶄綔絎︼紝鑰屼笖鏁翠釜榪囩▼姣旀垜鎯寵薄鐨勮綆媧侀珮鏁堬紝娌℃湁涓存椂瀵硅薄錛屾病鏈夋嫹璐濇瀯閫犮?br />緇撴灉涓轟粈涔堜細(xì)鏄繖鏍峰憿錛熻繖涓昏褰掑姛浜庣紪璇戝櫒鐨勮繑鍥炲間紭鍖栫殑鑳藉姏銆?br />鏈夊叧榪斿洖鍊間紭鍖栫殑鐭ヨ瘑錛岄檺浜庣瘒騫呮垜灝變笉浠旂粏浠嬬粛浜嗭紝浣嗘槸闇瑕佺壒鍒寚鍑虹殑鏄疢SVC9.0鍙湪RELEASE妯″紡涓嬮粯璁ゅ紑鍚疦RVO錛屽嵆瀵瑰叿鍚嶅璞$殑榪斿洖鍊間紭鍖栵紝浠ュ強榪斿洖鍊間紭鍖栭噷闈㈢殑涓涓噸瑕佺殑緇嗚妭錛屼綋鐜板湪鏈緥閲屽氨鏄細(xì)涓轟粈涔堜腑鏁翠釜杈撳嚭涓病鏈夊嚭鐜?opeartor=",鍗充負(fù)浠涔堟病璋冪敤"="鎿嶄綔絎︺?br /><br />鐜板湪鎴戜滑灝嗕唬鐮佺◢寰敼鍙樹竴涓嬶紝鏀規(guī)垚涓嬮潰鐨勬牱瀛?<br /><br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">X a(</span><span style="color: #000000; ">10</span><span style="color: #000000; ">),b(</span><span style="color: #000000; ">20</span><span style="color: #000000; ">),c;<br />c</span><span style="color: #000000; ">=</span><span style="color: #000000; ">a</span><span style="color: #000000; ">+</span><span style="color: #000000; ">b;  錛忥紡榪欓噷鎴戜滑灝哻鐨勬瀯閫犲拰璧嬪煎垎寮浜?/span></div><br />鎵ц鐨勭粨鏋滃涓嬶細(xì)<br /><br /><div><div>construct 10 錛忥紡鏋勯燼</div><div>construct 20 錛忥紡鏋勯燽</div><div>default construct 錛忥紡鏋勯?c</div><div>operator +  錛忥紡璋冪敤“+”鎿嶄綔絎?/div><div>construct 30 錛忥紡璋冪敤X(int){...}錛?4琛屽</div><div>operator =(X) 錛忥紡璋冪敤“錛?#8221;鎿嶄綔絎?/div><div>desconstruct 30 錛忥紡浠g爜45琛屾墍寤虹珛鐨勪復(fù)鏃跺璞$殑鏋愭瀯</div><div>desconstruct 30 錛忥紡鍙橀噺c鐨勬瀽鏋?/div><div>desconstruct 20 錛忥紡鍙橀噺b鐨勬瀽鏋?/div><div>desconstruct 10 錛忥紡鍙橀噺c鐨勬瀽鏋?br /><br />瀵規(guī)瘮鍓嶅悗鐨勮緭鍑虹粨鏋滐紝鍙互鍙戠幇澶氬嚭浠ヤ笅涓夎</div></div><div><div>default construct </div></div><div>operator =(X) </div><div>desconstruct 30 <br />鍑虹幇榪欑宸紓鐨勫師鍥犲湪浜庯細(xì)<div style="display: inline-block; "></div><span id="hvzpftn" class="Apple-style-span" style="color: #333333; font-family: Arial; background-color: #ffffff; ">瀹氫箟c鐨勬椂鍊欎細(xì)璋冪敤榛樿鐨勬瀯閫犲嚱鏁拌繘琛屽垵濮嬪寲錛屽洜姝ょ涓鏉¤鍙ユ墽琛屽畬涔嬪悗錛宑宸茬粡鏄竴涓瓨鍦ㄧ殑瀵硅薄錛屾墍浠ョ浜屾潯璇彞騫舵病鏈夋潈鍒╁幓鐩存帴淇敼c鐨勫唴瀹癸紝蹇呴』瑕侀氳繃璋冪敤璧嬪兼搷浣滅”=“錛屽洜姝ゅ繀欏昏浜х敓涓涓復(fù)鏃跺璞°傝屽湪絎竴涓緥瀛愪腑錛屽洜涓烘墽琛屽埌絎簩鏉¤鍙ヤ箣鍓峜騫舵病鏈夎鍒涘緩,鎵浠ョ紪璇戝櫒鍙互灝?琛ㄨ揪寮廰+b鐨勮繑鍥炲肩洿鎺ユ瀯寤哄湪c鐨勫唴瀛樹腑錛屼粠鑰屼紭鍖栨帀涓存椂瀵硅薄鍜屽“錛?#8221;鐨勮皟鐢ㄣ?br /></span></div></div></div><div></div><img src ="http://www.shnenglu.com/ioriiod0/aggbug/153300.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ioriiod0/" target="_blank">姹熸蹈鏈?/a> 2011-08-13 21:38 <a href="http://www.shnenglu.com/ioriiod0/archive/2011/08/13/153300.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍋歁TK絎旇瘯鐨勬葷粨錛堜竴錛?/title><link>http://www.shnenglu.com/ioriiod0/archive/2011/08/13/153284.html</link><dc:creator>姹熸蹈鏈?/dc:creator><author>姹熸蹈鏈?/author><pubDate>Sat, 13 Aug 2011 09:30:00 GMT</pubDate><guid>http://www.shnenglu.com/ioriiod0/archive/2011/08/13/153284.html</guid><wfw:comment>http://www.shnenglu.com/ioriiod0/comments/153284.html</wfw:comment><comments>http://www.shnenglu.com/ioriiod0/archive/2011/08/13/153284.html#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://www.shnenglu.com/ioriiod0/comments/commentRss/153284.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ioriiod0/services/trackbacks/153284.html</trackback:ping><description><![CDATA[浠婂勾瑕佸紑濮嬫壘宸ヤ綔浜嗭紝鏈潃縐瘡緇忛獙鐨勭洰鐨勶紝璺戝幓鍋氫簡涓婱TK鐨勭瑪璇曢錛岀瑪璇曠殑鍐呭涓昏鏄疌錛嬶紜銆?br />鍥犱負(fù)寮鍙戜腑涓鐩翠嬌鐢–錛嬶紜錛岃屼笖瀵笴錛嬶紜閲岀殑楂樼駭鐗規(guī)э細(xì)闈㈠悜瀵硅薄錛屾ā鏉跨瓑閮芥瘮杈冪啛鎮(zhèn)夛紝榪樻病浜嬪枩嬈㈢爺絀朵笅STL錛孊OOST錛屾墍浠ュ鑷繁鐨凜錛嬶紜姘村鉤姣旇緝鑷俊錛屽洜姝や簨鍏堜篃娌″仛浠諱綍鍑嗗錛屽氨鐩存帴鍘葷瑪璇曚簡銆傛湰鏉ョ瑪璇曞畬浜嗗悗瑙夊緱棰樼洰铔畝鍗曠殑錛屼絾鏄湰鐫璁ょ湡瀛︿範(fàn)鐨勬佸害鍥炴潵鍚庢妸棰樼洰閮戒笂鏈鴻瘯楠屼簡涓嬶紝緇撴灉涓涓嬪氨鎮(zhèn)插墽浜嗭紝閿欑殑浣撴棤瀹屾湇鍟娿傘傘?br />鎬葷粨浜嗕竴涓嬶細(xì)<br />   1銆傝鐪熷寰咃紝涓嶈灝忕湅浜嗙瑪璇曢鐩細(xì)鍋氶鐨勬椂鍊欏績鎯寵繖浜涚瑪璇曢鐩兘寰堢畝鍗曞晩錛屽緢澶氶鐩兘鏄壂浜嗕竴鐪煎氨绔嬪嵆鍐欏嚭浜嗙瓟妗堬紝緇撴灉鍥炴潵鍚庢墠鍙戠幇榪欎簺棰樼洰閮借緗簡闄烽槺錛岃浣犳帀榪涘幓灝卞嚭涓嶆潵浜嗐?br />   2銆侰錛嬶紜鍩虹涓嶅鎵庡疄銆傛瀴鎴戣繕涓澶╁埌鏅氱殑鐮旂┒C錛嬶紜鐨勯珮綰х壒鎬э紝緇撴灉寰堝鍩虹鐨勭煡璇嗗嵈閮芥槸涓鐭ュ崐瑙c?br />鐗瑰皢姝ゆ絎旇瘯鐨勪竴浜涘績寰楀拰浣撲細(xì)璁板綍浜庢錛屽ソ鎻愰啋鑷繁銆備笅闈富瑕佸垎鏋愬嚑涓垜鍋氶敊鐨勯鐩傞鐩茍闈炰笌鍘熼瀹屽叏涓鑷淬?br />棰樼洰涓錛?br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">int</span><span style="color: #000000; "> a</span><span style="color: #000000; ">=</span><span style="color: #000000; ">10</span><span style="color: #000000; ">,b</span><span style="color: #000000; ">=</span><span style="color: #000000; ">6</span><span style="color: #000000; ">;<br />cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">a</span><span style="color: #000000; ">+</span><span style="color: #000000; ">b</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; ">a</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; ">b</span><span style="color: #000000; ">++</span><span style="color: #000000; ">; </span></div><br />璇瘋鍑轟笂榪拌鍙ョ殑鎵ц緇撴灉銆?br />寰堝浜虹湅榪囪繖孌典唬鐮佸悗浼拌閮戒細(xì)鐩存帴灝卞啓涓婁簡 16 10 6 榪欐牱鐨勭粨鏋滃惂錛屼絾涓婃満瀹為獙鐨勮緭鍑虹粨鏋滄槸錛?18 10 6<br />涓轟粈涔堜細(xì)鍑虹幇榪欐牱鐨勭粨鏋滐紝涓嬮潰鏄垜鐨勫垎鏋愯繃紼嬶紝濡傛灉鏈変笉瀵圭殑鍦版柟璇峰ぇ瀹舵寚姝c?br />涓轟簡璺熻釜浠g爜鐨勬墽琛屾楠わ紝鎴戣璁′簡涓涓被X錛岃繖涓被鏄int鐨勬ā鎷燂紝琛屼負(fù)鏂歸潰涓巌nt鍩烘湰涓鑷達(dá)紝闄や簡浼?xì)鎵撳嵃鍑轰竴浜涘府鍔╂垜浠悊瑙g殑淇℃伅錛屼唬鐮佸涓嬶細(xì)<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">class</span><span style="color: #000000; "> X<br />{<br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br />    X(){cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">default construct</span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;}<br />    X(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> a):i(a){ cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">construct </span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">i</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;}<br />    </span><span style="color: #000000; ">~</span><span style="color: #000000; ">X(){ cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">desconstruct </span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">i</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;}<br />    X(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> x):i(x.i)<br />    {<br />        cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">copy construct </span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">i</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br />    }<br />    X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">++</span><span style="color: #000000; ">()<br />    {<br />        cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">operator ++(pre) </span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">i</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br />        </span><span style="color: #000000; ">++</span><span style="color: #000000; ">i;<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">;<br />    }<br />    </span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> X </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">++</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">)<br />    {<br />        cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">operator ++(post) </span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">i</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br />        X x(</span><span style="color: #000000; ">*</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">);<br />        </span><span style="color: #000000; ">++</span><span style="color: #000000; ">i;<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> x;<br />    }<br />    X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">=</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> m)<br />    {<br />        cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">operator =(int)</span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br />        i </span><span style="color: #000000; ">=</span><span style="color: #000000; "> m;<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">;<br />    }<br />    X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">=</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> x)<br />    {<br />        cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">operator =(X)</span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br />        i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">x.i;<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">;<br />    }<br />    </span><span style="color: #808080; ">////////////////////////</span><span style="color: #008000; ">/</span><span style="color: #808080; "><br /></span><span style="color: #000000; ">    friend ostream</span><span style="color: #000000; ">&</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; "><<</span><span style="color: #000000; ">(ostream</span><span style="color: #000000; ">&</span><span style="color: #000000; "> os,</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> x)<br />    {<br />        os</span><span style="color: #000000; "><<</span><span style="color: #000000; ">x.i;<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> os;<br />    }<br />    friend X </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">+</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> a,</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> X</span><span style="color: #000000; ">&</span><span style="color: #000000; "> b)<br />    {<br />        cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">operator +</span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br /></span><span style="color: #0000ff; ">        return</span><span style="color: #000000; "> X(a.i+b.i);</span><span style="color: #000000; "><br />    }<br />    </span><span style="color: #808080; ">////////////////////////</span><span style="color: #008000; ">//</span><span style="color: #808080; "><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br />    </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> i;<br />};</span></div><br />鐒跺悗鎵ц浠ヤ笅浠g爜錛?br /><br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">    X a(</span><span style="color: #000000; ">10</span><span style="color: #000000; ">),b(</span><span style="color: #000000; ">6</span><span style="color: #000000; ">);<br />    cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">sum:</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><<</span><span style="color: #000000; ">a</span><span style="color: #000000; ">+</span><span style="color: #000000; ">b</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; "> a:</span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">a</span><span style="color: #000000; ">++<<</span><span style="color: #000000; ">"</span><span style="color: #000000; "> b:</span><span style="color: #000000; ">"</span><span style="color: #000000; "><<</span><span style="color: #000000; ">b</span><span style="color: #000000; ">++<<</span><span style="color: #000000; ">endl;<br /></span></div><br />浣跨敤GCC4銆?緙栬瘧鍚庯紝浠g爜鐨勬墽琛岀粨鏋滃涓嬶細(xì)<br /><br /><div><div><div><div>construct 10</div><div>construct 6</div><div>operator ++(post) 6</div><div>copy construct 6</div><div>operator ++(post) 10</div><div>copy construct 10</div><div>operator +</div><div>construct 18</div><div>sum:18 a:10 b:6</div><div>desconstruct 18</div><div>desconstruct 10</div><div>desconstruct 6</div><div>desconstruct 7</div><div>desconstruct 11</div></div><div></div></div></div><div>鎴戜滑鏉ョ畝鍗曞垎鏋愪笅榪欎釜鎵ц榪囩▼錛?/div><br /><div><div>construct 10</div><div>construct 6  錛忥紡榪欎袱琛岃緭鍑哄搴斾簬 X a(10),b(6); <br /><br /><div><div>operator ++(post) 6</div><div>copy construct 6 錛忥紡琛ㄦ槑棣栧厛鎵ц浜?nbsp; cout<<"sum:" <<a+b<<" a:"<<a++<<" b:"<<b++<<endl;榪欏彞涓殑 b++榪欎釜琛ㄨ揪寮忥紝<br />                              b++榪欎釜琛ㄨ揪寮忚繑鍥炰簡涓涓間負(fù)6鐨勪復(fù)鏃跺璞★紝鑰宐鏈韓鍒欏彉鎴愪簡7銆?br /><div style="display: inline-block; "><div><div><div></div><div>operator ++(post) 10 <br />copy construct 10  錛忥紡榪欏彞鐨勫垎鏋愬悓涓?br /><br /><div><div>operator +</div><div>construct 18 //瀵瑰簲浜庤〃杈懼紡 a+b ,鍙互鐪嬪埌錛屾鏃剁殑a鍜宐宸茬粡鍙樻垚浜?1鍜?銆傝〃杈懼紡榪斿洖浜嗕竴涓間負(fù)18鐨勪復(fù)鏃跺璞°?br /><br /><div>sum:18 a:10 b:6 錛忥紡杈撳嚭鐨勭粨鏋滐紝浠庣粨鏋滃彲浠ョ湅鍑猴紝瀹為檯涓婃墦鍗板嚭鐨勫煎垎鍒負(fù) a+b,a++鍜宐錛嬶紜涓変釜琛ㄨ揪寮忔墍榪斿洖鐨勪復(fù)鏃跺彉閲忋?/div></div></div></div></div></div></div></div></div><span id="hvzpftn" class="Apple-style-span" style="background-color: #eeeeee; "><span style="color: #000000; "><br /></span></span></div></div><div>desconstruct 18 錛忥紡a錛媌 琛ㄨ揪寮忚繑鍥炵殑涓存椂鍙橀噺鐨勬瀽鏋?/div><div>desconstruct 10 錛忥紡a錛嬶紜 琛ㄨ揪寮忚繑鍥炵殑涓存椂鍙橀噺鐨勬瀽鏋?/div><div>desconstruct 6 錛忥紡b錛嬶紜琛ㄨ揪寮忚繑鍥炵殑涓存椂鍙橀噺鐨勬瀽鏋?/div><div>desconstruct 7 錛忥紡鍙橀噺a 鐨勬瀽鏋?/div><div>desconstruct 11  錛忥紡鍙橀噺b鐨勬瀽鏋?br /><br />鐪熺浉澶х櫧浜嗐備負(fù)浠涔堢紪璇戝櫒浼?xì)杩欐犱h潵緙栬瘧榪欎釜琛ㄨ揪寮忓憿錛?br />涓嬮潰2妤肩殑澶滈鍚屽緇欏嚭浜嗘紜瓟妗堛傘備負(fù)浜嗕笉璇鍚庨潰鐨勫悓瀛︼紝鐗規(guī)緙栬緫鎺夈傘?br /><br />涓婅堪瀹為獙鐨勭幆澧冨潎涓篏CC4銆?  鎹悓瀛﹁VS2010鎵ц鐨勭粨鏋滃湪DEBUG涓嬪拰RELEASE涓嬪眳鐒跺垎鍒負(fù)錛?6 10 6 鍜?8 10 6錛屼笉榪囨垜娌℃湁鍘婚獙璇佽繃錛屾湁鍏磋叮鐨勫悓瀛﹀彲浠ュ幓楠岃瘉騫跺垎鏋愪竴涓嬨?br />鍋氳繖鏍蜂竴閬撻榪樻槸璁╂垜鏀惰幏寰堝錛屽琺鍥轟簡C錛嬶紜鐨勫熀紜銆?br />浠婂ぉ灝卞啓閬撹繖閲岋紝鍚庨潰鏈夋椂闂翠細(xì)闄嗙畫鏀懼嚭瀵瑰叾浠?#8220;闄烽槺”棰樼洰鐨勫垎鏋愩?br />錛堟湭瀹屽緟緇級</div><font class="Apple-style-span" color="#008080" size="2"><br /></font><img src ="http://www.shnenglu.com/ioriiod0/aggbug/153284.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ioriiod0/" target="_blank">姹熸蹈鏈?/a> 2011-08-13 17:30 <a href="http://www.shnenglu.com/ioriiod0/archive/2011/08/13/153284.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瀵笲OOST 涓悓姝ヤ簰鏂ョ殑涓浜涚悊瑙?/title><link>http://www.shnenglu.com/ioriiod0/archive/2011/05/26/147135.html</link><dc:creator>姹熸蹈鏈?/dc:creator><author>姹熸蹈鏈?/author><pubDate>Wed, 25 May 2011 17:10:00 GMT</pubDate><guid>http://www.shnenglu.com/ioriiod0/archive/2011/05/26/147135.html</guid><wfw:comment>http://www.shnenglu.com/ioriiod0/comments/147135.html</wfw:comment><comments>http://www.shnenglu.com/ioriiod0/archive/2011/05/26/147135.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/ioriiod0/comments/commentRss/147135.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ioriiod0/services/trackbacks/147135.html</trackback:ping><description><![CDATA[棣栧厛錛孊OOST涓湁4縐嶆湁鍏充簰鏂ラ噺寰楁蹇點?br />1.LOCKABLE :浠呮敮鎸佹帓瀹冨瀷鎵鏈夋潈<br />2.TIMEDLOCKABLE錛氭敮鎸佸甫瓚呮椂鐨勬帓瀹冨瀷鎵鏈夋潈<br />3.SHAREDLOCKABLE錛?鏀寔甯﹁秴鏃剁殑鎺掍粬鍨嬫墍鏈夋潈鍜屽叡浜瀷鎵鏈夋潈錛堣鍐欓攣錛?br />4.UPGRADELOCKABLE錛?nbsp;<div style="display: inline-block; "></div>鏀寔甯﹁秴鏃剁殑鎺掍粬鍨嬫墍鏈夋潈鍜屽叡浜瀷鎵鏈夋潈錛屼互鍙婂叡浜瀷鎵鏈夋潈鍗囩駭涓烘帓浠栧瀷鎵鏈夋潈錛堝崌綰ц繃紼嬮樆濉烇級(涔熸敮鎸侀檷綰?<br /><br />鍙互鐪嬪埌2寮哄寲鑷?,3寮哄寲鑷?.4寮哄寲鑷?錛屾敮鎸佹煇涓姒傚康鍒欎竴瀹氭敮鎸佸叾寮哄寲鑷殑姒傚康銆?br /><br />boost::mutex 瀹炵幇浜哃OCKABLE姒傚康 錛坆oost::recursive_mutex 鏄叾閫掑綊閿佺殑鐗堟湰錛?br />boost::timed_mutex 瀹炵幇浜員IMEDLOCKABLE姒傚康 <div style="display: inline-block; "></div>錛坆oost::recursive_timed_mutex 鏄叾閫掑綊閿佺殑鐗堟湰錛?br />boost::shared_mutex瀹炵幇浜哠HAREDLOCKABLE姒傚康<br />boost::shared_mutex鍚屾牱瀹炵幇浜哢PGRADELOCKABLE姒傚康<br /><br />鍑轟簬鎻愪緵RAII鎿嶄綔椋庢牸鍜屽畨鍏ㄧ瓑鍏朵粬涓浜涘師鍥燘OOST涓嶅笇鏈涚敤鎴風(fēng)洿鎺ヨ皟鐢ㄥ悇縐峂UTEX綾誨瀷涓殑鐩稿叧鎺ュ彛錛岃屾槸閫氳繃瀹冩彁渚涚殑涓浜汱OCK_TYPE鏉ュ府鍔╂垜浠皟鐢ㄣ?br /><br />涓昏鐨凩OCK_TYPE鍖呮嫭錛?br /><br />boost::unique_lock<LOCKABLE> 閽堝鏀寔LOCKABLE姒傚康鐨勭被鍨嬶紙涓婅堪4涓璏UTEX綾誨瀷閮芥敮鎸丩OCKABLE姒傚康錛夈備互RAII鐨勬柟寮忚皟鐢ㄨ綾葷殑lock() <div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline-block; "></div>錛堣皟鐢ㄦ垚鍔熷悗鎺掑畠鐨勭嫭鍗犺浜掓枼閲忥級鍜?unlock() 鏂規(guī)硶銆?br /><br />boost::shared_lock<SHAREDLOCKABLE>閽堝鏀寔SHAREDLOCKABLE姒傚康鐨勭被鍨嬶紝boost::shared_mutex瀹炵幇浜嗚姒傚康錛屾敞鎰忥紝鏀寔SHAREDLOCKABLE姒傚康鐨勭被鏃㈡敮鎸佹帓浠栫殑鐙崰錛堝啓閿侊紝閫氳繃璋冪敤lock unlock緋誨垪鍑芥暟錛夛紝涔熸敮鎸佸叡浜殑鏂瑰紡鍗犵敤錛堣閿侊紝閫氳繃璋冪敤lock_shared緋誨垪錛夛紝<div style="display: inline-block; "></div>shared_lock榛樿璋冪敤<div style="display: inline-block; "></div>lock_shared緋誨垪銆?br /><br />鏈涓昏鏈甯哥敤鐨勫氨鏄笂闈㈣繖涓や釜LOCK綾誨瀷錛屽垎鍒唬琛ㄧ嫭鍗犳柟寮忓拰鍏變韓鏂瑰紡錛屽叾浠栫殑灝變笉涓涓鍒嗘瀽浜嗐?br /><br />涓嬮潰鏄釜浠?a >http://hi.baidu.com/jrckkyy/blog/item/d7ccb508dfba2e3ce8248817.html</a>姝ゅ鎵懼埌鐨勪緥瀛?br /><br /><div><span id="hvzpftn" class="Apple-style-span" style="color: #333333; font-family: Arial; font-size: 13px; line-height: 20px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">typedef <span id="hvzpftn" class="hilite1" style="line-height: normal; ">boost</span>::shared_mutex rwmutex; <br style="line-height: normal; " />typedef <span id="hvzpftn" class="hilite1" style="line-height: normal; ">boost</span>::shared_lock<rwmutex> readLock; <br style="line-height: normal; " />typedef <span id="hvzpftn" class="hilite1" style="line-height: normal; ">boost</span>::uniq_lock<rwmutex> writeLock; <br style="line-height: normal; " /><br style="line-height: normal; " />rwmutex  _rwmutex; <br style="line-height: normal; " /><br style="line-height: normal; " />void readOnly() <br style="line-height: normal; " />{ <br style="line-height: normal; " />... <br style="line-height: normal; " />{ // 涓寸晫鍖?nbsp;<br style="line-height: normal; " />readLock rdlock<div style="display: inline-block; "></div></span><span id="hvzpftn" class="Apple-style-span" style="color: #333333; font-family: Arial; font-size: 13px; line-height: 20px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">(_rwmutex)</span><span id="hvzpftn" class="Apple-style-span" style="color: #333333; font-family: Arial; font-size: 13px; line-height: 20px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">; <br style="line-height: normal; " />... <br style="line-height: normal; " />do something <br style="line-height: normal; " />... <br style="line-height: normal; " />} <br style="line-height: normal; " />... <br style="line-height: normal; " />} <br style="line-height: normal; " /><br style="line-height: normal; " />void writeOnly() <br style="line-height: normal; " />{ <br style="line-height: normal; " />... <br style="line-height: normal; " />{ // 涓寸晫鍖?nbsp;<br style="line-height: normal; " />writeLock wlock(<div style="display: inline-block; "></div></span><span id="hvzpftn" class="Apple-style-span" style="color: #333333; font-family: Arial; font-size: 13px; line-height: 20px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">_rwmutex</span><span id="hvzpftn" class="Apple-style-span" style="color: #333333; font-family: Arial; font-size: 13px; line-height: 20px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">); <br style="line-height: normal; " />... <br style="line-height: normal; " />do something <br style="line-height: normal; " />... <br style="line-height: normal; " />} <br style="line-height: normal; " />... <br style="line-height: normal; " />} <br style="line-height: normal; " /></span></div><br /><br /><br /><br /><br /><br /><img src ="http://www.shnenglu.com/ioriiod0/aggbug/147135.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ioriiod0/" target="_blank">姹熸蹈鏈?/a> 2011-05-26 01:10 <a href="http://www.shnenglu.com/ioriiod0/archive/2011/05/26/147135.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://226600b.com" target="_blank">99精品福利视频</a>| <a href="http://balqueen.com" target="_blank">国产偷国产偷亚洲高清97cao </a>| <a href="http://chukewang.com" target="_blank">欧美制服丝袜第一页</a>| <a href="http://tianxiantxtv.com" target="_blank">99riav1国产精品视频</a>| <a href="http://yy6024.com" target="_blank">99re热这里只有精品免费视频</a>| <a href="http://ks180.com" target="_blank">亚洲精品久久嫩草网站秘色</a>| <a href="http://sz-changrong.com" target="_blank">亚洲激情国产</a>| <a href="http://senlin86.com" target="_blank">99国产精品久久久久老师 </a>| <a href="http://807225.com" target="_blank">亚洲电影观看</a>| <a href="http://xxxsxx.com" target="_blank">亚洲人成毛片在线播放</a>| <a href="http://qdzhudai.com" target="_blank">亚洲精品欧美一区二区三区</a>| <a href="http://zhengnuoxin.com" target="_blank">在线观看欧美亚洲</a>| <a href="http://yxtczx.com" target="_blank">午夜精品久久久久久久</a>| <a href="http://www473333.com" target="_blank">久久精品一区二区三区四区</a>| <a href="http://660507jj.com" target="_blank">久久综合精品国产一区二区三区</a>| <a href="http://844985.com" target="_blank">亚洲国产精品福利</a>| <a href="http://d77dd.com" target="_blank">日韩午夜免费</a>| <a href="http://3838418.com" target="_blank">久久综合久久综合久久综合</a>| <a href="http://www033459.com" target="_blank">亚洲欧美日韩在线高清直播</a>| <a href="http://elpezomaha.com" target="_blank">久久久久久综合网天天</a>| <a href="http://xtsjjw.com" target="_blank">亚洲看片网站</a>| <a href="http://www-474736.com" target="_blank">麻豆精品在线观看</a>| <a href="http://www47343.com" target="_blank">国产亚洲综合精品</a>| <a href="http://9511331.com" target="_blank">亚洲综合视频1区</a>| <a href="http://avtb2120.com" target="_blank">亚洲精品乱码久久久久久</a>| <a href="http://9658888.com" target="_blank">亚洲日本免费</a>| <a href="http://tubcup.com" target="_blank">欧美大成色www永久网站婷</a>| <a href="http://486be.com" target="_blank">午夜在线一区</a>| <a href="http://zucai168.com" target="_blank">国产日本欧美一区二区</a>| <a href="http://977dy.com" target="_blank">午夜国产不卡在线观看视频</a>| <a href="http://www777788c.com" target="_blank">欧美国产精品久久</a>| <a href="http://goutoujunshi.com" target="_blank">久久天堂成人</a>| <a href="http://mgcc37.com" target="_blank">亚洲激情国产精品</a>| <a href="http://aotaotao.com" target="_blank">欧美大片91</a>| <a href="http://278263.com" target="_blank">欧美国产激情</a>| <a href="http://chufengguanye.com" target="_blank">亚洲人成人一区二区三区</a>| <a href="http://pmref.com" target="_blank">亚洲国产福利在线</a>| <a href="http://caoxiu33.com" target="_blank">欧美日本一区二区视频在线观看</a>| <a href="http://dlwansheng.com" target="_blank">亚洲国产三级网</a>| <a href="http://mkaqiu.com" target="_blank">亚洲国产精品美女</a>| <a href="http://www-787333.com" target="_blank">欧美日韩免费在线</a>| <a href="http://sdjzzs.com" target="_blank">亚洲免费一在线</a>| <a href="http://136hao.com" target="_blank">亚洲一区二区四区</a>| <a href="http://dsjgqc.com" target="_blank">一区在线影院</a>| <a href="http://118017.com" target="_blank">亚洲国产清纯</a>| <a href="http://4449998.com" target="_blank">欧美大片在线看</a>| <a href="http://erzhuzi.com" target="_blank">亚洲无玛一区</a>| <a href="http://xiphosoft.com" target="_blank">久久电影一区</a>| <a href="http://www901aaa.com" target="_blank">亚洲福利小视频</a>| <a href="http://o10669.com" target="_blank">亚洲欧洲一级</a>| <a href="http://70909g.com" target="_blank">国产精品高潮呻吟久久</a>| <a href="http://sh738.com" target="_blank">亚洲在线国产日韩欧美</a>| <a href="http://cscjxs.com" target="_blank">欧美性视频网站</a>| <a href="http://2589999.com" target="_blank">一区在线观看</a>| <a href="http://woniuminsu.com" target="_blank">亚洲乱码日产精品bd</a>| <a href="http://xingda-sh.com" target="_blank">狠狠色丁香婷综合久久</a>| <a href="http://shiyoudiban.com" target="_blank">亚洲日本黄色</a>| <a href="http://9113c.com" target="_blank">亚洲第一在线综合网站</a>| <a href="http://99hhbb.com" target="_blank">夜夜爽www精品</a>| <a href="http://baoxiniao666.com" target="_blank">国产亚洲成年网址在线观看</a>| <a href="http://1616mz.com" target="_blank">欧美成人a∨高清免费观看</a>| <a href="http://83mmmm.com" target="_blank">欧美日韩一区不卡</a>| <a href="http://85181890.com" target="_blank">亚洲黄色毛片</a>| <a href="http://www-232323.com" target="_blank">亚洲国产精品一区二区第一页 </a>| <a href="http://862323.com" target="_blank">久久国产精品久久久</a>| <a href="http://8484vivo.com" target="_blank">欧美ed2k</a>| <a href="http://p5555ww.com" target="_blank">欧美激情一区二区三区全黄</a>| <a href="http://hjaa7.com" target="_blank">国产一区二区0</a>| <a href="http://488f.com" target="_blank">午夜久久电影网</a>| <a href="http://97caoporm.com" target="_blank">欧美一级淫片aaaaaaa视频</a>| <a href="http://227237.com" target="_blank">欧美日韩在线精品</a>| <a href="http://6567ya.com" target="_blank">亚洲人成网站999久久久综合</a>| <a href="http://www780yy.com" target="_blank">亚洲第一主播视频</a>| <a href="http://mimi78.com" target="_blank">欧美成人69</a>| <a href="http://quanfadq.com" target="_blank">亚洲激情网站</a>| <a href="http://080177.com" target="_blank">亚洲一区免费观看</a>| <a href="http://012488.com" target="_blank">欧美视频一区二区在线观看</a>| <a href="http://wg246.com" target="_blank">欧美日韩三级</a>| <a href="http://5101h.com" target="_blank">午夜精品在线</a>| <a href="http://www-77537.com" target="_blank">欧美高清日韩</a>| <a href="http://pnxingmei.com" target="_blank">中文精品在线</a>| <a href="http://aass22.com" target="_blank">国产一区二区三区免费观看</a>| <a href="http://88xjj.com" target="_blank">午夜精品偷拍</a>| <a href="http://khc83.com" target="_blank">91久久国产综合久久</a>| <a href="http://hhh699.com" target="_blank">亚洲欧美第一页</a>| <a href="http://gbandal.com" target="_blank">在线观看欧美一区</a>| <a href="http://9885888.com" target="_blank">欧美视频手机在线</a>| <a href="http://www-333410.com" target="_blank">久久精品国产精品亚洲精品</a>| <a href="http://qibilly.com" target="_blank">亚洲高清视频在线</a>| <a href="http://pansinobbs.com" target="_blank">欧美精品www</a>| <a href="http://playav111.com" target="_blank">亚洲免费影视</a>| <a href="http://4y9k.com" target="_blank">亚洲精品久久久久久久久久久</a>| <a href="http://520844www.com" target="_blank">一本久道久久综合中文字幕</a>| <a href="http://www38ccc.com" target="_blank">国产日韩欧美</a>| <a href="http://sdhanm.com" target="_blank">欧美日韩免费精品</a>| <a href="http://91porn42.com" target="_blank">久久久久久久性</a>| <a href="http://wwwjuhuase.com" target="_blank">一区二区欧美在线</a>| <a href="http://987kt.com" target="_blank">欧美大片在线观看一区</a>| <a href="http://173881.com" target="_blank">欧美在线二区</a>| <a href="http://1069024.com" target="_blank">午夜电影亚洲</a>| <a href="http://yimeimc.com" target="_blank">亚洲欧美一区二区在线观看</a>| <a href="http://www-44899.com" target="_blank">亚洲每日更新</a>| <a href="http://798814.com" target="_blank">日韩视频免费</a>| <a href="http://kk1xx-com.com" target="_blank">亚洲风情亚aⅴ在线发布</a>| <a href="http://cl6m.com" target="_blank">国产午夜精品美女视频明星a级</a>| <a href="http://www-4012345.com" target="_blank">欧美日韩精品一区视频</a>| <a href="http://chunhuigk.com" target="_blank">农村妇女精品</a>| <a href="http://huokemima.com" target="_blank">欧美成人亚洲成人日韩成人</a>| <a href="http://chongpiapia.com" target="_blank">久久成人久久爱</a>| <a href="http://www-67499.com" target="_blank">欧美在线观看视频在线</a>| <a href="http://44ie.com" target="_blank">亚洲精品在线二区</a>| <a href="http://sinojinxing.com" target="_blank">国外视频精品毛片</a>| <a href="http://wwwmm131.com" target="_blank">国模叶桐国产精品一区</a>| <a href="http://yeepey.com" target="_blank">国外成人在线视频网站</a>| <a href="http://zunguidq.com" target="_blank">亚洲第一伊人</a>| <a href="http://www492002.com" target="_blank">在线视频欧美一区</a>| <a href="http://xingba999.com" target="_blank">亚洲欧美制服中文字幕</a>| <a href="http://lexueit.com" target="_blank">欧美一区二区在线看</a>| <a href="http://cz-sensor.com" target="_blank">久久亚洲捆绑美女</a>| <a href="http://126900.com" target="_blank">免费高清在线视频一区·</a>| <a href="http://snis675.com" target="_blank">免费短视频成人日韩</a>| <a href="http://seqing9.com" target="_blank">亚洲国产婷婷综合在线精品</a>| <a href="http://www-77663.com" target="_blank">99视频在线精品国自产拍免费观看</a>| <a href="http://118626cc.com" target="_blank">99精品久久久</a>| <a href="http://xsxcn.com" target="_blank">久久美女性网</a>| <a href="http://qdpetlove.com" target="_blank">国产精品大全</a>| <a href="http://y65k.com" target="_blank">亚洲黄色成人网</a>| <a href="http://372469.com" target="_blank">性色av一区二区三区</a>| <a href="http://xxxx90.com" target="_blank">欧美+亚洲+精品+三区</a>| <a href="http://kk66mm.com" target="_blank">夜夜躁日日躁狠狠久久88av</a>| <a href="http://yahuake.com" target="_blank">亚洲免费在线播放</a>| <a href="http://3333328.com" target="_blank">久久亚洲欧洲</a>| <a href="http://eee285.com" target="_blank">亚洲欧美区自拍先锋</a>| <a href="http://dy25777.com" target="_blank">麻豆精品一区二区综合av</a>| <a href="http://59199m.com" target="_blank">欧美日韩综合久久</a>| <a href="http://wwww20.com" target="_blank">亚洲国产精品精华液网站</a>| <a href="http://6w7y.com" target="_blank">久久成人免费电影</a>| <a href="http://pao449.com" target="_blank">99精品视频免费全部在线</a>| <a href="http://yssnlp.com" target="_blank">久久久久女教师免费一区</a>| <a href="http://xianconnector.com" target="_blank">欧美日韩一本到</a>| <a href="http://1390744.com" target="_blank">一本色道久久99精品综合</a>| <a href="http://t3gg.com" target="_blank">欧美成人精品高清在线播放</a>| <a href="http://www227zh.com" target="_blank">中文精品视频</a>| <a href="http://sz-changrong.com" target="_blank">欧美日韩亚洲高清一区二区</a>| <a href="http://0855d.com" target="_blank">亚洲国产日本</a>| <a href="http://1588vip.com" target="_blank">亚洲二区视频</a>| <a href="http://xxxx43.com" target="_blank">欧美精品情趣视频</a>| <a href="http://www-49hk.com" target="_blank">91久久午夜</a>| <a href="http://xpj493.com" target="_blank">99精品久久</a>| <a href="http://www47777.com" target="_blank">国产欧美视频一区二区</a>| <a href="http://cc28256.com" target="_blank">小处雏高清一区二区三区</a>| <a href="http://cqrebo.com" target="_blank">亚洲一区二区三区高清不卡</a>| <a href="http://580078.com" target="_blank">欧美视频一区二</a>| <a href="http://wwwby6682.com" target="_blank">欧美中文字幕在线视频</a>| <a href="http://227237.com" target="_blank">久久aⅴ国产紧身牛仔裤</a>| <a href="http://099idc.com" target="_blank">国内精品久久久久久影视8</a>| <a href="http://zyjxyx.com" target="_blank">久久久五月天</a>| <a href="http://www-13978.com" target="_blank">免费视频一区</a>| <a href="http://7504329.com" target="_blank">亚洲图片欧美午夜</a>| <a href="http://njhuike.com" target="_blank">亚洲自拍偷拍一区</a>| <a href="http://894322.com" target="_blank">亚洲国产成人porn</a>| <a href="http://5mcm.com" target="_blank">亚洲婷婷在线</a>| <a href="http://wy172.com" target="_blank">在线免费一区三区</a>| <a href="http://kittybob.com" target="_blank">亚洲国产专区校园欧美</a>| <a href="http://xiphosoft.com" target="_blank">欧美午夜免费电影</a>| <a href="http://yashikeji.com" target="_blank">久久精品麻豆</a>| <a href="http://o10669.com" target="_blank">欧美夫妇交换俱乐部在线观看</a>| <a href="http://18av18.com" target="_blank">亚洲午夜一区</a>| <a href="http://jizzizz.com" target="_blank">蜜桃久久精品乱码一区二区</a>| <a href="http://7373se.com" target="_blank">亚洲视屏在线播放</a>| <a href="http://e789a.com" target="_blank">久久五月天婷婷</a>| <a href="http://91keshi.com" target="_blank">亚洲欧美在线aaa</a>| <a href="http://szth186.com" target="_blank">麻豆精品一区二区av白丝在线</a>| <a href="http://6055365.com" target="_blank">中国成人亚色综合网站</a>| <a href="http://77017w.com" target="_blank">免费久久99精品国产</a>| <a href="http://xianconnector.com" target="_blank">久久久www成人免费精品</a>| <a href="http://hzhzzz.com" target="_blank">一本色道久久综合亚洲精品不</a>| <a href="http://www49718.com" target="_blank">亚洲女人av</a>| <a href="http://qcjpns.com" target="_blank">亚洲调教视频在线观看</a>| <a href="http://86311ib.com" target="_blank">欧美成人按摩</a>| <a href="http://airsixth.com" target="_blank">亚洲国产日韩一区</a>| <a href="http://oimeal.com" target="_blank">亚洲国产成人精品久久久国产成人一区</a>| <a href="http://cz-sensor.com" target="_blank">一本久道久久久</a>| <a href="http://238918.com" target="_blank">一本色道88久久加勒比精品 </a>| <a href="http://928uc.com" target="_blank">韩国三级在线一区</a>| <a href="http://avtb2120.com" target="_blank">亚洲欧洲av一区二区</a>| <a href="http://486be.com" target="_blank">欧美一二三区精品</a>| <a href="http://lmjqav.com" target="_blank">亚洲精品美女在线观看播放</a>| <a href="http://by99969.com" target="_blank">亚洲精品亚洲人成人网</a>| <a href="http://hh474.com" target="_blank">狠狠干综合网</a>| <a href="http://110673.com" target="_blank">欧美日韩不卡视频</a>| <a href="http://www22336.com" target="_blank">久久全球大尺度高清视频</a>| <a href="http://56lin.com" target="_blank">亚洲欧美国产毛片在线</a>| <a href="http://xsjgxx.com" target="_blank">亚洲精品中文字幕有码专区</a>| <a href="http://138268.com" target="_blank">久久综合伊人77777</a>| <a href="http://ffff53.com" target="_blank">久久久久99</a>| <a href="http://80hogo.com" target="_blank">久久精品国产91精品亚洲</a>| <a href="http://91see8.com" target="_blank">亚洲私人影院</a>| <a href="http://4439x9.com" target="_blank">亚洲视频一二区</a>| <a href="http://842332.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>