锘??xml version="1.0" encoding="utf-8" standalone="yes"?>狠狠入ady亚洲精品,美女黄毛**国产精品啪啪,亚洲午夜一区二区三区http://m.shnenglu.com/ioriiod0/zh-cnFri, 26 Sep 2025 08:58:19 GMTFri, 26 Sep 2025 08:58:19 GMT60C++ 鍗忕▼涓庣綉緇滅紪紼?/title><link>http://m.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://m.shnenglu.com/ioriiod0/archive/2013/01/01/196890.html</guid><wfw:comment>http://m.shnenglu.com/ioriiod0/comments/196890.html</wfw:comment><comments>http://m.shnenglu.com/ioriiod0/archive/2013/01/01/196890.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://m.shnenglu.com/ioriiod0/comments/commentRss/196890.html</wfw:commentRss><trackback:ping>http://m.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絳夐噰鐢ㄤ綔涓哄茍鍙戠殑鍩烘湰鍗曚綅銆?鍗忕▼鍙互琚涓烘槸涓縐嶇敤鎴風┖闂寸嚎紼嬶紝涓庝紶緇熺殑綰跨▼鐩告瘮錛屾湁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;">棣栧厛鏉ョ畝鍗曞洖欏句竴涓嬩竴浜涘父鐢ㄧ殑緗戠粶緙栫▼妯″瀷銆傜綉緇滅紪紼嬫ā鍨嬪彲浠ュぇ浣撶殑鍒嗕負鍚屾妯″瀷鍜屽紓姝ユā鍨嬩袱綾匯?/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鍑芥暟鏃朵細闃誨綰跨▼鐩村埌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鐨勮/鍐欍傝繖縐嶆ā鍨嬬殑浼樼偣鏄▼搴忕畝媧侊紝緙栧啓綆鍗曪紱緙虹偣鏄彲浼哥緝鎬ф敹鍒扮嚎紼嬫暟鐨勯檺鍒訛紝褰撹繛鎺ヨ秺鏉ヨ秺澶氭椂錛岀嚎紼嬩篃瓚婃潵瓚婂錛岄綣佺殑綰跨▼鍒囨崲浼氫弗閲嶆嫋绱ц兘銆?/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澶氳礬澶嶇敤鍣ㄤ腑錛堜竴鑸負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;">鍗忕▼涓哄厠鏈嶅悓姝ユā鍨嬪拰寮傛妯″瀷鐨勭己鐐癸紝騫剁粨鍚堜粬浠殑浼樼偣鎻愪緵浜嗗彲鑳斤細 鐜板湪鍋囪鎴戜滑鏈?涓崗紼婣,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;">榪欐牱錛屽浜庢瘡涓涓崗紼嬫潵璇達紝鏄悓姝ョ殑妯″瀷錛涗絾鏄浜庢暣涓簲鐢ㄧ▼搴忔潵璇達紝鍗存槸寮傛鐨勬ā鍨嬨?/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鐨勫崗紼嬪涓嬶細</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鏍囧織涓轟細琚疆浣嶏紝鍥犳寰幆緇撴潫錛屽崗紼嬮鍑恒?/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鍑芥暟銆備絾鏄渶瑕佹敞鎰忚繖涓や釜鍑芥暟浼氭姏鍑篵oost::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 妯″瀷涓鏍風殑綆媧佹竻鏅幫紝浣嗘槸鏁翠釜紼嬪簭瀹為檯涓婅繍琛屽湪鍚屼竴綰跨▼褰撲腑銆?/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://m.shnenglu.com/ioriiod0/aggbug/196890.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/ioriiod0/" target="_blank">姹熸蹈鏈?/a> 2013-01-01 13:14 <a href="http://m.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://m.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://m.shnenglu.com/ioriiod0/archive/2011/11/28/161049.html</guid><wfw:comment>http://m.shnenglu.com/ioriiod0/comments/161049.html</wfw:comment><comments>http://m.shnenglu.com/ioriiod0/archive/2011/11/28/161049.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/ioriiod0/comments/commentRss/161049.html</wfw:commentRss><trackback:ping>http://m.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 />鍦ㄥ涔犳柊鏍囧噯鐨勮繃紼嬩腑鍔ㄦ墜鍐欎簡涓?涓簊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; ">瀹炵幇鎴愬畯鏄負浜嗕嬌鐢ㄨ搗鏉ユ洿鏂逛究錛屽彲浠ラ殢鎰忔寚瀹?鍑芥暟鍚?鍓嶇紑 鍒嗛殧絎?鍜?鍚庣紑銆?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 />杈撳嚭涓猴細<br /><3 , "lala" , 10 , c><br /><br />嫻嬭瘯鐜涓篏CC 4.5錛屾敞鎰忕紪璇戞椂鍊欒鎵撳紑C++0X鏀寔銆?br /><br /><br /></span></font><img src ="http://m.shnenglu.com/ioriiod0/aggbug/161049.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/ioriiod0/" target="_blank">姹熸蹈鏈?/a> 2011-11-28 05:17 <a href="http://m.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://m.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://m.shnenglu.com/ioriiod0/archive/2011/08/13/153300.html</guid><wfw:comment>http://m.shnenglu.com/ioriiod0/comments/153300.html</wfw:comment><comments>http://m.shnenglu.com/ioriiod0/archive/2011/08/13/153300.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://m.shnenglu.com/ioriiod0/comments/commentRss/153300.html</wfw:commentRss><trackback:ping>http://m.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; ">棰樼洰浜岋細<br />   棰樼洰鎴戝仛浜嗕笅鏀瑰彉錛屼嬌鐢ㄤ簡涓婄瘒鏂囩珷涓彁鍒扮殑閭d釜綾籜錛屼唬鐮佸涓嬶細<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 />緇撴灉涓轟粈涔堜細鏄繖鏍峰憿錛熻繖涓昏褰掑姛浜庣紪璇戝櫒鐨勮繑鍥炲間紭鍖栫殑鑳藉姏銆?br />鏈夊叧榪斿洖鍊間紭鍖栫殑鐭ヨ瘑錛岄檺浜庣瘒騫呮垜灝變笉浠旂粏浠嬬粛浜嗭紝浣嗘槸闇瑕佺壒鍒寚鍑虹殑鏄疢SVC9.0鍙湪RELEASE妯″紡涓嬮粯璁ゅ紑鍚疦RVO錛屽嵆瀵瑰叿鍚嶅璞$殑榪斿洖鍊間紭鍖栵紝浠ュ強榪斿洖鍊間紭鍖栭噷闈㈢殑涓涓噸瑕佺殑緇嗚妭錛屼綋鐜板湪鏈緥閲屽氨鏄細涓轟粈涔堜腑鏁翠釜杈撳嚭涓病鏈夊嚭鐜?opeartor=",鍗充負浠涔堟病璋冪敤"="鎿嶄綔絎︺?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 />鎵ц鐨勭粨鏋滃涓嬶細<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琛屾墍寤虹珛鐨勪復鏃跺璞$殑鏋愭瀯</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 />鍑虹幇榪欑宸紓鐨勫師鍥犲湪浜庯細<div style="display: inline-block; "></div><span id="hvzpftn" class="Apple-style-span" style="color: #333333; font-family: Arial; background-color: #ffffff; ">瀹氫箟c鐨勬椂鍊欎細璋冪敤榛樿鐨勬瀯閫犲嚱鏁拌繘琛屽垵濮嬪寲錛屽洜姝ょ涓鏉¤鍙ユ墽琛屽畬涔嬪悗錛宑宸茬粡鏄竴涓瓨鍦ㄧ殑瀵硅薄錛屾墍浠ョ浜屾潯璇彞騫舵病鏈夋潈鍒╁幓鐩存帴淇敼c鐨勫唴瀹癸紝蹇呴』瑕侀氳繃璋冪敤璧嬪兼搷浣滅”=“錛屽洜姝ゅ繀欏昏浜х敓涓涓復鏃跺璞°傝屽湪絎竴涓緥瀛愪腑錛屽洜涓烘墽琛屽埌絎簩鏉¤鍙ヤ箣鍓峜騫舵病鏈夎鍒涘緩,鎵浠ョ紪璇戝櫒鍙互灝?琛ㄨ揪寮廰+b鐨勮繑鍥炲肩洿鎺ユ瀯寤哄湪c鐨勫唴瀛樹腑錛屼粠鑰屼紭鍖栨帀涓存椂瀵硅薄鍜屽“錛?#8221;鐨勮皟鐢ㄣ?br /></span></div></div></div><div></div><img src ="http://m.shnenglu.com/ioriiod0/aggbug/153300.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/ioriiod0/" target="_blank">姹熸蹈鏈?/a> 2011-08-13 21:38 <a href="http://m.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://m.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://m.shnenglu.com/ioriiod0/archive/2011/08/13/153284.html</guid><wfw:comment>http://m.shnenglu.com/ioriiod0/comments/153284.html</wfw:comment><comments>http://m.shnenglu.com/ioriiod0/archive/2011/08/13/153284.html#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://m.shnenglu.com/ioriiod0/comments/commentRss/153284.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/ioriiod0/services/trackbacks/153284.html</trackback:ping><description><![CDATA[浠婂勾瑕佸紑濮嬫壘宸ヤ綔浜嗭紝鏈潃縐瘡緇忛獙鐨勭洰鐨勶紝璺戝幓鍋氫簡涓婱TK鐨勭瑪璇曢錛岀瑪璇曠殑鍐呭涓昏鏄疌錛嬶紜銆?br />鍥犱負寮鍙戜腑涓鐩翠嬌鐢–錛嬶紜錛岃屼笖瀵笴錛嬶紜閲岀殑楂樼駭鐗規(guī)э細闈㈠悜瀵硅薄錛屾ā鏉跨瓑閮芥瘮杈冪啛鎮(zhèn)夛紝榪樻病浜嬪枩嬈㈢爺絀朵笅STL錛孊OOST錛屾墍浠ュ鑷繁鐨凜錛嬶紜姘村鉤姣旇緝鑷俊錛屽洜姝や簨鍏堜篃娌″仛浠諱綍鍑嗗錛屽氨鐩存帴鍘葷瑪璇曚簡銆傛湰鏉ョ瑪璇曞畬浜嗗悗瑙夊緱棰樼洰铔畝鍗曠殑錛屼絾鏄湰鐫璁ょ湡瀛︿範鐨勬佸害鍥炴潵鍚庢妸棰樼洰閮戒笂鏈鴻瘯楠屼簡涓嬶紝緇撴灉涓涓嬪氨鎮(zhèn)插墽浜嗭紝閿欑殑浣撴棤瀹屾湇鍟娿傘傘?br />鎬葷粨浜嗕竴涓嬶細<br />   1銆傝鐪熷寰咃紝涓嶈灝忕湅浜嗙瑪璇曢鐩細鍋氶鐨勬椂鍊欏績鎯寵繖浜涚瑪璇曢鐩兘寰堢畝鍗曞晩錛屽緢澶氶鐩兘鏄壂浜嗕竴鐪煎氨绔嬪嵆鍐欏嚭浜嗙瓟妗堬紝緇撴灉鍥炴潵鍚庢墠鍙戠幇榪欎簺棰樼洰閮借緗簡闄烽槺錛岃浣犳帀榪涘幓灝卞嚭涓嶆潵浜嗐?br />   2銆侰錛嬶紜鍩虹涓嶅鎵庡疄銆傛瀴鎴戣繕涓澶╁埌鏅氱殑鐮旂┒C錛嬶紜鐨勯珮綰х壒鎬э紝緇撴灉寰堝鍩虹鐨勭煡璇嗗嵈閮芥槸涓鐭ュ崐瑙c?br />鐗瑰皢姝ゆ絎旇瘯鐨勪竴浜涘績寰楀拰浣撲細璁板綍浜庢錛屽ソ鎻愰啋鑷繁銆備笅闈富瑕佸垎鏋愬嚑涓垜鍋氶敊鐨勯鐩傞鐩茍闈炰笌鍘熼瀹屽叏涓鑷淬?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 />寰堝浜虹湅榪囪繖孌典唬鐮佸悗浼拌閮戒細鐩存帴灝卞啓涓婁簡 16 10 6 榪欐牱鐨勭粨鏋滃惂錛屼絾涓婃満瀹為獙鐨勮緭鍑虹粨鏋滄槸錛?18 10 6<br />涓轟粈涔堜細鍑虹幇榪欐牱鐨勭粨鏋滐紝涓嬮潰鏄垜鐨勫垎鏋愯繃紼嬶紝濡傛灉鏈変笉瀵圭殑鍦版柟璇峰ぇ瀹舵寚姝c?br />涓轟簡璺熻釜浠g爜鐨勬墽琛屾楠わ紝鎴戣璁′簡涓涓被X錛岃繖涓被鏄int鐨勬ā鎷燂紝琛屼負鏂歸潰涓巌nt鍩烘湰涓鑷達紝闄や簡浼氭墦鍗板嚭涓浜涘府鍔╂垜浠悊瑙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: #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爜鐨勬墽琛岀粨鏋滃涓嬶細<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++榪欎釜琛ㄨ揪寮忚繑鍥炰簡涓涓間負6鐨勪復鏃跺璞★紝鑰宐鏈韓鍒欏彉鎴愪簡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鍜?銆傝〃杈懼紡榪斿洖浜嗕竴涓間負18鐨勪復鏃跺璞°?br /><br /><div>sum:18 a:10 b:6 錛忥紡杈撳嚭鐨勭粨鏋滐紝浠庣粨鏋滃彲浠ョ湅鍑猴紝瀹為檯涓婃墦鍗板嚭鐨勫煎垎鍒負 a+b,a++鍜宐錛嬶紜涓変釜琛ㄨ揪寮忔墍榪斿洖鐨勪復鏃跺彉閲忋?/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 />鐪熺浉澶х櫧浜嗐備負浠涔堢紪璇戝櫒浼氳繖鏍鋒潵緙栬瘧榪欎釜琛ㄨ揪寮忓憿錛?br />涓嬮潰2妤肩殑澶滈鍚屽緇欏嚭浜嗘紜瓟妗堛傘備負浜嗕笉璇鍚庨潰鐨勫悓瀛︼紝鐗規(guī)緙栬緫鎺夈傘?br /><br />涓婅堪瀹為獙鐨勭幆澧冨潎涓篏CC4銆?  鎹悓瀛﹁VS2010鎵ц鐨勭粨鏋滃湪DEBUG涓嬪拰RELEASE涓嬪眳鐒跺垎鍒負錛?6 10 6 鍜?8 10 6錛屼笉榪囨垜娌℃湁鍘婚獙璇佽繃錛屾湁鍏磋叮鐨勫悓瀛﹀彲浠ュ幓楠岃瘉騫跺垎鏋愪竴涓嬨?br />鍋氳繖鏍蜂竴閬撻榪樻槸璁╂垜鏀惰幏寰堝錛屽琺鍥轟簡C錛嬶紜鐨勫熀紜銆?br />浠婂ぉ灝卞啓閬撹繖閲岋紝鍚庨潰鏈夋椂闂翠細闄嗙畫鏀懼嚭瀵瑰叾浠?#8220;闄烽槺”棰樼洰鐨勫垎鏋愩?br />錛堟湭瀹屽緟緇級</div><font class="Apple-style-span" color="#008080" size="2"><br /></font><img src ="http://m.shnenglu.com/ioriiod0/aggbug/153284.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/ioriiod0/" target="_blank">姹熸蹈鏈?/a> 2011-08-13 17:30 <a href="http://m.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://m.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://m.shnenglu.com/ioriiod0/archive/2011/05/26/147135.html</guid><wfw:comment>http://m.shnenglu.com/ioriiod0/comments/147135.html</wfw:comment><comments>http://m.shnenglu.com/ioriiod0/archive/2011/05/26/147135.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/ioriiod0/comments/commentRss/147135.html</wfw:commentRss><trackback:ping>http://m.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涓嶅笇鏈涚敤鎴風洿鎺ヨ皟鐢ㄥ悇縐峂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://m.shnenglu.com/ioriiod0/aggbug/147135.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/ioriiod0/" target="_blank">姹熸蹈鏈?/a> 2011-05-26 01:10 <a href="http://m.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://m.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://842332.com" target="_blank">亚洲午夜在线观看</a>| <a href="http://lampreydb.com" target="_blank">久久久久欧美精品</a>| <a href="http://099553.com" target="_blank">久久久久久夜精品精品免费</a>| <a href="http://488089.com" target="_blank">一区二区三区高清视频在线观看</a>| <a href="http://fsdashen.com" target="_blank">在线精品一区</a>| <a href="http://www-119049.com" target="_blank">亚洲国产婷婷香蕉久久久久久99</a>| <a href="http://621939.com" target="_blank">精品不卡一区二区三区</a>| <a href="http://xiuren2021.com" target="_blank">在线观看欧美黄色</a>| <a href="http://holotu.com" target="_blank">亚洲精品一区二区三区蜜桃久</a>| <a href="http://2424ddd.com" target="_blank">亚洲美女精品一区</a>| <a href="http://bjzgmember.com" target="_blank">亚洲在线观看免费视频</a>| <a href="http://aass22.com" target="_blank">欧美一区二区三区四区在线观看</a>| <a href="http://69ru.com" target="_blank">欧美专区亚洲专区</a>| <a href="http://www-77537.com" target="_blank">卡通动漫国产精品</a>| <a href="http://www278999.com" target="_blank">欧美国产一区二区三区激情无套</a>| <a href="http://www205sihu.com" target="_blank">亚洲国产一区在线观看</a>| <a href="http://www-232323.com" target="_blank">欧美国产日韩a欧美在线观看</a>| <a href="http://y1bbs.com" target="_blank">亚洲第一福利在线观看</a>| <a href="http://18mmcg.com" target="_blank">日韩视频一区</a>| <a href="http://zqx186.com" target="_blank">欧美一区二区三区日韩</a>| <a href="http://www55avav.com" target="_blank">久热综合在线亚洲精品</a>| <a href="http://13789a.com" target="_blank">欧美日韩国产成人高清视频</a>| <a href="http://iotbzw.com" target="_blank">国产精品久久久久久av福利软件</a>| <a href="http://yw3329.com" target="_blank">国产夜色精品一区二区av</a>| <a href="http://jnhrjixie.com" target="_blank">亚洲电影免费观看高清</a>| <a href="http://ym5571.com" target="_blank">亚洲精品黄网在线观看</a>| <a href="http://caowo65.com" target="_blank">国产精品一区二区欧美</a>| <a href="http://xuduoshu.com" target="_blank">欧美人妖在线观看</a>| <a href="http://wanzhixue.com" target="_blank">欧美日韩亚洲一区二区三区在线</a>| <a href="http://tp112.com" target="_blank">欧美日韩亚洲国产精品</a>| <a href="http://by71222.com" target="_blank">国产精品免费在线</a>| <a href="http://124909.com" target="_blank">亚洲高清不卡av</a>| <a href="http://www442222.com" target="_blank">宅男精品导航</a>| <a href="http://wwwhaodd116.com" target="_blank">久久久久久久综合狠狠综合</a>| <a href="http://wwwq4yy.com" target="_blank">欧美激情按摩在线</a>| <a href="http://8bc3.com" target="_blank">亚洲欧美日本国产有色</a>| <a href="http://arielteam.com" target="_blank">美日韩精品免费</a>| <a href="http://vod3366.com" target="_blank">国产精品亚洲综合</a>| <a href="http://wzxjzx.com" target="_blank">亚洲日本欧美日韩高观看</a>| <a href="http://yzxq520.com" target="_blank">一本综合精品</a>| <a href="http://qcjpns.com" target="_blank">久久综合久色欧美综合狠狠</a>| <a href="http://neudlac.com" target="_blank">亚洲片区在线</a>| <a href="http://simextec.com" target="_blank">久久久国产视频91</a>| <a href="http://rxbbei.com" target="_blank">国产精品www</a>| <a href="http://yzsss.com" target="_blank">亚洲精品视频免费</a>| <a href="http://49vvvv.com" target="_blank">麻豆亚洲精品</a>| <a href="http://www278999.com" target="_blank">欧美一二区视频</a>| <a href="http://gg5gg.com" target="_blank">欧美日韩国产一区二区</a>| <a href="http://8090567.com" target="_blank">一区二区在线免费观看</a>| <a href="http://jdavmm.com" target="_blank">性感少妇一区</a>| <a href="http://www-14333.com" target="_blank">一区二区三区欧美在线观看</a>| <a href="http://aberyco.com" target="_blank">久久中文欧美</a>| <a href="http://mkaqiu.com" target="_blank">一区二区三区在线免费播放</a>| <a href="http://hsxinbao.com" target="_blank">欧美在线观看日本一区</a>| <a href="http://czsanlin.com" target="_blank">日韩午夜在线播放</a>| <a href="http://mmmm26.com" target="_blank">欧美国产在线观看</a>| <a href="http://taoseav8.com" target="_blank">亚洲国产专区校园欧美</a>| <a href="http://xtsjjw.com" target="_blank">久热成人在线视频</a>| <a href="http://tao62bao.com" target="_blank">久久av资源网站</a>| <a href="http://811914.com" target="_blank">国产日韩欧美自拍</a>| <a href="http://ssss96.com" target="_blank">欧美在线视频免费观看</a>| <a href="http://hcbr365.com" target="_blank">亚洲一级免费视频</a>| <a href="http://www-369111.com" target="_blank">欧美日韩一区二区在线观看</a>| <a href="http://40346c.com" target="_blank">亚洲精品在线免费观看视频</a>| <a href="http://wy77777.com" target="_blank">欧美ed2k</a>| <a href="http://343119.com" target="_blank">欧美成va人片在线观看</a>| <a href="http://saomm18.com" target="_blank">亚洲高清在线</a>| <a href="http://zhiuh.com" target="_blank">亚洲国产福利在线</a>| <a href="http://1515t.com" target="_blank">欧美国产国产综合</a>| <a href="http://520637.com" target="_blank">99热在这里有精品免费</a>| <a href="http://cytus2wiki.com" target="_blank">亚洲激情中文1区</a>| <a href="http://nmbgbc.com" target="_blank">欧美精品18videos性欧美</a>| <a href="http://7628x.com" target="_blank">亚洲久久成人</a>| <a href="http://8eb26.com" target="_blank">一区二区三区视频在线播放</a>| <a href="http://tao62bao.com" target="_blank">欧美三区免费完整视频在线观看</a>| <a href="http://uuuu79.com" target="_blank">一区二区三区国产精品</a>| <a href="http://www-4890.com" target="_blank">一区二区91</a>| <a href="http://chenyirong.com" target="_blank">国产美女一区</a>| <a href="http://kaijiepharm.com" target="_blank">久久婷婷久久一区二区三区</a>| <a href="http://223tt.com" target="_blank">久久综合九色综合久99</a>| <a href="http://beeperagain.com" target="_blank">亚洲人成小说网站色在线</a>| <a href="http://zjjieda.com" target="_blank">亚洲国产一区在线观看</a>| <a href="http://hgx123.com" target="_blank">亚洲福利视频专区</a>| <a href="http://2061851.com" target="_blank">欧美www视频</a>| <a href="http://unrealcopgmail.com" target="_blank">宅男精品视频</a>| <a href="http://mimi78.com" target="_blank">性做久久久久久</a>| <a href="http://diao66.com" target="_blank">精品999日本</a>| <a href="http://chuangke168.com" target="_blank">亚洲黄色一区</a>| <a href="http://5588207.com" target="_blank">国产精品综合不卡av</a>| <a href="http://5xxm.com" target="_blank">麻豆精品网站</a>| <a href="http://www33779.com" target="_blank">欧美日韩免费在线观看</a>| <a href="http://5599912.com" target="_blank">欧美呦呦网站</a>| <a href="http://1000078.com" target="_blank">欧美成人亚洲成人日韩成人</a>| <a href="http://710557.com" target="_blank">亚洲影院污污.</a>| <a href="http://yiqiluntan.com" target="_blank">欧美一区二区视频在线观看</a>| <a href="http://www-4012345.com" target="_blank">狠狠色综合网</a>| <a href="http://jxrisen.com" target="_blank">99国产精品</a>| <a href="http://9uu91.com" target="_blank">一区二区三区在线免费视频</a>| <a href="http://987gqb.com" target="_blank">亚洲第一福利在线观看</a>| <a href="http://7749137.com" target="_blank">国产精品一区久久久</a>| <a href="http://hzjqkj.com" target="_blank">欧美xxx在线观看</a>| <a href="http://2589999.com" target="_blank">欧美午夜精品久久久久久人妖</a>| <a href="http://chengli88.com" target="_blank">久久精品视频导航</a>| <a href="http://029902.com" target="_blank">欧美激情视频在线播放</a>| <a href="http://1397979.com" target="_blank">欧美制服第一页</a>| <a href="http://481323.com" target="_blank">欧美精品在线观看一区二区</a>| <a href="http://seqing9.com" target="_blank">欧美一区二区精品</a>| <a href="http://95gun.com" target="_blank">欧美日本中文字幕</a>| <a href="http://seanzhau.com" target="_blank">久久天天躁狠狠躁夜夜爽蜜月</a>| <a href="http://057232.com" target="_blank">欧美欧美午夜aⅴ在线观看</a>| <a href="http://4986888.com" target="_blank">久久精品一区二区国产</a>| <a href="http://by99969.com" target="_blank">欧美日韩国产在线播放</a>| <a href="http://5252bnet.com" target="_blank">噜噜噜91成人网</a>| <a href="http://fobdoer.com" target="_blank">国产精品天美传媒入口</a>| <a href="http://goldure.com" target="_blank">亚洲国产婷婷香蕉久久久久久</a>| <a href="http://love136.com" target="_blank">国产小视频国产精品</a>| <a href="http://246767.com" target="_blank">一本色道久久88综合日韩精品</a>| <a href="http://91mdtv.com" target="_blank">黄色成人免费网站</a>| <a href="http://www330088.com" target="_blank">中文有码久久</a>| <a href="http://58yewu.com" target="_blank">夜久久久久久</a>| <a href="http://av2027.com" target="_blank">欧美99在线视频观看</a>| <a href="http://dsjgqc.com" target="_blank">久久精品视频在线看</a>| <a href="http://cuucs.com" target="_blank">国产精品videosex极品</a>| <a href="http://iamsleekcn.com" target="_blank">亚洲国产精品久久久久秋霞影院 </a>| <a href="http://cctbdy.com" target="_blank">国产精品一区毛片</a>| <a href="http://www520590.com" target="_blank">亚洲黄网站在线观看</a>| <a href="http://689558.com" target="_blank">国内在线观看一区二区三区</a>| <a href="http://lexueit.com" target="_blank">中日韩美女免费视频网站在线观看</a>| <a href="http://xiaobi13.com" target="_blank">伊人久久大香线</a>| <a href="http://sqms2013.com" target="_blank">午夜精品在线看</a>| <a href="http://zhaosaofu.com" target="_blank">午夜精品短视频</a>| <a href="http://xshgwy.com" target="_blank">欧美深夜福利</a>| <a href="http://4545www.com" target="_blank">日韩图片一区</a>| <a href="http://dh03.com" target="_blank">亚洲四色影视在线观看</a>| <a href="http://susan5.com" target="_blank">欧美久久电影</a>| <a href="http://596361.com" target="_blank">亚洲人成网站在线观看播放</a>| <a href="http://3374com.com" target="_blank">亚洲国产欧美日韩精品</a>| <a href="http://008528.com" target="_blank">久久综合五月天婷婷伊人</a>| <a href="http://bjjxgcsxy.com" target="_blank">久久琪琪电影院</a>| <a href="http://kpd521.com" target="_blank">韩国v欧美v日本v亚洲v</a>| <a href="http://1390555.com" target="_blank">欧美一区在线视频</a>| <a href="http://www47011.com" target="_blank">久久美女性网</a>| <a href="http://621767.com" target="_blank">狂野欧美一区</a>| <a href="http://489633.com" target="_blank">欧美jizzhd精品欧美巨大免费</a>| <a href="http://hkbsi.com" target="_blank">国产精品美女久久福利网站</a>| <a href="http://2061826.com" target="_blank">一区二区日本视频</a>| <a href="http://18loutv.com" target="_blank">西瓜成人精品人成网站</a>| <a href="http://ykk7.com" target="_blank">国产精品一区二区a</a>| <a href="http://www-42189.com" target="_blank">午夜日韩视频</a>| <a href="http://nvpuow.com" target="_blank">老鸭窝91久久精品色噜噜导演</a>| <a href="http://119553.com" target="_blank">韩国成人精品a∨在线观看</a>| <a href="http://jizz16.com" target="_blank">欧美在线三级</a>| <a href="http://2629929.com" target="_blank">欧美成人亚洲</a>| <a href="http://vvv3939.com" target="_blank">99国内精品</a>| <a href="http://jiujiire.com" target="_blank">国产精品h在线观看</a>| <a href="http://77017w.com" target="_blank">亚洲欧美在线一区二区</a>| <a href="http://dh03.com" target="_blank">麻豆久久婷婷</a>| <a href="http://3dxxoo.com" target="_blank">夜夜爽www精品</a>| <a href="http://123hiba.com" target="_blank">欧美午夜视频在线</a>| <a href="http://wwwzmcc1.com" target="_blank">欧美亚洲自偷自偷</a>| <a href="http://1000kongbao.com" target="_blank">欧美高清视频在线播放</a>| <a href="http://chaoxibg.com" target="_blank">一本色道久久综合亚洲精品小说</a>| <a href="http://zz-777.com" target="_blank">欧美丝袜一区二区</a>| <a href="http://678665.com" target="_blank">欧美一区二区</a>| <a href="http://ss2ssc.com" target="_blank">亚洲国产美女</a>| <a href="http://123273.com" target="_blank">性欧美video另类hd性玩具</a>| <a href="http://fxsdcj.com" target="_blank">狠狠色狠狠色综合日日tαg</a>| <a href="http://kakatok.com" target="_blank">欧美1区3d</a>| <a href="http://cm168168.com" target="_blank">校园激情久久</a>| <a href="http://yiqipapa8.com" target="_blank">亚洲国产精品高清久久久</a>| <a href="http://gzzhuangshi.com" target="_blank">一区二区三区高清</a>| <a href="http://72nnnn.com" target="_blank">狠狠久久综合婷婷不卡</a>| <a href="http://www50050.com" target="_blank">欧美黑人在线观看</a>| <a href="http://javdb04.com" target="_blank">午夜精品福利视频</a>| <a href="http://dayomall.com" target="_blank">亚洲国产精品福利</a>| <a href="http://qqx123.com" target="_blank">性做久久久久久久久</a>| <a href="http://sxhrdyb.com" target="_blank">亚洲电影有码</a>| <a href="http://www3344xz.com" target="_blank">国产精品嫩草久久久久</a>| <a href="http://lcqrsj.com" target="_blank">久久亚洲免费</a>| <a href="http://qibilly.com" target="_blank">亚洲一区二区三区四区中文</a>| <a href="http://592xyy.com" target="_blank">欧美成人中文字幕在线</a>| <a href="http://spvicarb.com" target="_blank">亚洲一区欧美</a>| <a href="http://jiangnanmm.com" target="_blank">91久久夜色精品国产网站</a>| <a href="http://2424ddd.com" target="_blank">国产精品一区在线播放</a>| <a href="http://www151zh.com" target="_blank">欧美gay视频</a>| <a href="http://1390744.com" target="_blank">欧美在线免费看</a>| <a href="http://elpezomaha.com" target="_blank">99re6热只有精品免费观看 </a>| <a href="http://605012.com" target="_blank">欧美日韩亚洲一区二区三区在线 </a>| <a href="http://www520590.com" target="_blank">亚洲影视九九影院在线观看</a>| <a href="http://339505.com" target="_blank">国外成人在线</a>| <a href="http://85995m.com" target="_blank">国产精品麻豆欧美日韩ww</a>| <a href="http://duoying668.com" target="_blank">久久最新视频</a>| <a href="http://www94816.com" target="_blank">午夜在线电影亚洲一区</a>| <a href="http://by21999.com" target="_blank">亚洲美女黄色片</a>| <a href="http://xuanxuan88.com" target="_blank">欧美成人中文字幕</a>| <a href="http://www473333.com" target="_blank">久久日韩粉嫩一区二区三区</a>| <a href="http://hnjlhgw.com" target="_blank">亚洲免费在线视频</a>| <a href="http://72nnnn.com" target="_blank">正在播放欧美视频</a>| <a href="http://aijiaoji.com" target="_blank">日韩视频精品在线观看</a>| <a href="http://6567ya.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>