锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品日韩欧美一区,国产亚洲欧美日韩日本,欧美一区二区三区视频在线观看http://www.shnenglu.com/chenlq/archive/2012/05/10/174476.html闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/dc:creator>闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/author>Thu, 10 May 2012 09:59:00 GMThttp://www.shnenglu.com/chenlq/archive/2012/05/10/174476.htmlhttp://www.shnenglu.com/chenlq/comments/174476.htmlhttp://www.shnenglu.com/chenlq/archive/2012/05/10/174476.html#Feedback0http://www.shnenglu.com/chenlq/comments/commentRss/174476.htmlhttp://www.shnenglu.com/chenlq/services/trackbacks/174476.html #include // 鏃墮棿宸ュ叿 #include // 綰跨▼ #include // 鏉′歡鍙橀噺 #include // 浜掓枼 using namespace std; using namespace std::chrono; // 鏉′歡鍙橀噺 condition_variable cond; // 浜掓枼 mutex m; // 琛ㄧず鏉′歡鐨勫叡浜祫婧? bool morning = false; // 媯鏌ユ槸鍚﹀埌浜嗗叧鐏殑鏃墮棿 void check() { // 璁板綍寮濮嬫椂闂? auto start = system_clock::now(); do { // 褰撳墠綰跨▼浼戠湢1000姣 this_thread::sleep_for(milliseconds(1000)); cout<<"it is still night."<<endl; } // 媯鏌ユ槸鍚﹀凡緇忓埌浜嗗叧鐏殑鏃跺埢 // 榪欓噷鐢╯econds(4)琛ㄧず璺伅鎸佺畫4縐? while ( system_clock::now() < start + seconds(4)); // 鍒拌揪鍏崇伅鏃墮棿錛岄攣瀹氫簰鏂ュ璞★紝 // 淇敼琛ㄧず鏉′歡鐨勫叡浜暟鎹甿orning lock_guard lk(m); cout<<"it is morning."<<endl; morning = true; // 鐢╪otify_one()閫氱煡鍙﹀鐨勭嚎紼嬶紝鏉′歡宸茬粡鍙戦佸彉鍖? cond.notify_one(); } /// 鍏崇伅綰跨▼ void turnoff() { // 閿佸畾浜掓枼瀵硅薄錛岃闂〃紺烘潯浠剁殑鍏變韓璧勬簮morning unique_lock lk(m); // 鏋勯犱竴涓驚鐜紝鍙鏉′歡娌℃湁婊¤凍 // 灝變竴鐩存墽琛屾潯浠跺彉閲忕殑wait()鏂規硶錛岃褰撳墠綰跨▼絳夊緟 while(!morning) { cond.wait(lk); } // 鏉′歡婊¤凍銆傛墽琛屽叧鐏姩浣? cout<<"turn off the light."<<endl; } int main(int argc, char* argv[]) { // 鍒涘緩涓や釜綰跨▼錛屽垎鍒墽琛屾鏌ュ拰鍏崇伅鐨勫姩浣? thread c(check); thread t(turnoff); c.join(); t.join(); return 0; } 浠庤繖涓緥瀛愪腑錛屾垜浠彲浠ュ緱鍒拌繖鏍蜂竴浜涗嬌鐢ㄦ潯浠跺彉閲忕殑瑕佺偣錛? 鏉′歡鍙橀噺鎬繪槸闇瑕佷笌涓涓〃紺烘潯浠剁殑鍏變韓璧勬簮浠ュ強瀵硅繖涓叡浜祫婧愯繘琛岃闂帶鍒剁殑浜掓枼瀵硅薄銆傝繖灝辨槸鎴戜滑鍦ㄧ▼搴忕殑寮濮嬮儴鍒嗗畾涔夌殑morning錛宮鍜宑ond銆? // 鏉′歡鍙橀噺 condition_variable cond; // 浜掓枼 mutex m; // 琛ㄧず鏉′歡鐨勫叡浜祫婧? bool morning = false; 榪欎笁鑰呭嚑涔庢繪槸鐩鎬即鍚屾椂鍑虹幇銆? 鍦ㄤ竴涓嚎紼嬩腑錛屾垜浠渶瑕佸湪鏉′歡婊¤凍鐨勬椂鍊欎慨鏀硅〃紺烘潯浠剁殑鍏變韓璧勬簮鐨勫鹼紝鐒跺悗鐢ㄦ潯浠跺彉閲忕殑notify_one()鎴栬卬otify_all()閫氱煡姝e湪絳夊緟鐨勭嚎紼嬨傝繖灝辨槸 // 鍒拌揪鍏崇伅鏃墮棿錛岄攣瀹氫簰鏂ュ璞★紝 // 淇敼琛ㄧず鏉′歡鐨勫叡浜暟鎹甿orning lock_guard lk(m); cout<<"it is morning."<<endl; morning = true; // 鐢╪otify_one()閫氱煡鍙﹀鐨勭嚎紼嬶紝鏉′歡宸茬粡鍙戦佸彉鍖? cond.notify_one(); 鑰屽湪鍙﹀涓涓嚎紼嬩腑錛屾垜浠渶瑕佹瀯閫犱竴涓互鍏變韓璧勬簮涓烘潯浠剁殑鏃犻檺寰幆錛屽綋鏉′歡鏃犳硶婊¤凍鏃訛紝灝辯敤鏉′歡鍙橀噺鐨剋ait()鎴栬厀ait_until()絳夊嚱鏁拌繘琛岀瓑寰咃紝鐩村埌鏉′歡寰楀埌婊¤凍錛屽驚鐜粨鏉熴? // 閿佸畾浜掓枼瀵硅薄錛岃闂〃紺烘潯浠剁殑鍏變韓璧勬簮morning unique_lock lk(m); // 鏋勯犱竴涓驚鐜紝鍙鏉′歡娌℃湁婊¤凍 // 灝變竴鐩存墽琛屾潯浠跺彉閲忕殑wait()鏂規硶錛岃褰撳墠綰跨▼絳夊緟 while(!morning) { cond.wait(lk); } 鎬葷粨璧鋒潵錛屾潯浠跺彉閲忕畝鍖栦簡瀵硅〃紺烘潯浠剁殑鍏變韓璧勬簮鐨勮闂紝涔熺渷鍘諱簡瀵瑰叡浜祫婧愮殑棰戠箒鐨勯攣鎿嶄綔錛岃繘涓姝ユ彁楂樹簡鏁堢巼銆?/mutex>

]]>
鐢–++11 FAQ涓枃鐗堝涔燙++11錛岃交鏉捐岀畝鍗曪紒http://www.shnenglu.com/chenlq/archive/2012/05/01/173326.html闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/dc:creator>闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/author>Tue, 01 May 2012 03:01:00 GMThttp://www.shnenglu.com/chenlq/archive/2012/05/01/173326.htmlhttp://www.shnenglu.com/chenlq/comments/173326.htmlhttp://www.shnenglu.com/chenlq/archive/2012/05/01/173326.html#Feedback0http://www.shnenglu.com/chenlq/comments/commentRss/173326.htmlhttp://www.shnenglu.com/chenlq/services/trackbacks/173326.html

]]>
C++灝忓搧錛氬ス鏉ュ惉鎴戠殑婕斿敱浼氣斺擟++11涓殑闅忔満鏁般佺嚎紼?thread)銆佷簰鏂?mutex)鍜屾潯浠跺彉閲?condition)http://www.shnenglu.com/chenlq/archive/2011/11/12/159981.html闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/dc:creator>闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/author>Sat, 12 Nov 2011 02:29:00 GMThttp://www.shnenglu.com/chenlq/archive/2011/11/12/159981.htmlhttp://www.shnenglu.com/chenlq/comments/159981.htmlhttp://www.shnenglu.com/chenlq/archive/2011/11/12/159981.html#Feedback3http://www.shnenglu.com/chenlq/comments/commentRss/159981.htmlhttp://www.shnenglu.com/chenlq/services/trackbacks/159981.htmlhttp://imcc.blogbus.com/logs/172675220.html

鍦ㄦ柊棰佸竷鐨凜++鏂版爣鍑咰++11涓紝鏈浠や漢嬋鍔ㄤ漢蹇冪殑錛屾垜鎯充笉鏄痑uto鍏抽敭瀛楋紝涔熶笉鏄疞ambda琛ㄨ揪寮忥紝鑰屾槸鍏朵腑鐨勫騫惰璁$畻鐨勬敮鎸佲斺旀柊鐨勭嚎紼嬪簱(thread)鐨勫姞鍏ャ?/p>

澶氭牳蹇僀PU鐨勬櫘鍙婂簲鐢紝C++鐨勪富瑕佸簲鐢ㄩ鍩燂紝鏈嶅姟鍣ㄧ▼搴忥紝楂樻ц兘璁$畻絳夌瓑錛岄兘瀵瑰茍琛岃綆楁彁鍑轟簡鏂扮殑瑕佹眰錛岃岃繖嬈++涓叏鏂版坊鍔犵殑綰跨▼搴擄紝灝辨槸 瀵硅繖涓瓚嬪娍鐨勫簲瀵廣傜幇鍦紝C++紼嬪簭鍛樺彲浠ヨ交鏉懼湴緙栧啓澶氱嚎紼嬬殑紼嬪簭錛岃屾棤闇鍊熷姪緋葷粺API鎴栬呮槸絎笁鏂圭▼搴忓簱鐨勬敮鎸併傜嚎紼嬪簱鐨勫姞鍏ョ粰C++甯︽潵鐨勫彉鍖栵紝鏃? 寮備簬 194錛岀炕韜殑紼嬪簭鍛樹滑鎶婃瓕鍞便?/p>

C++11涓殑綰跨▼搴擄紝寰堝ぇ紼嬪害涓婄洿鎺ユ潵鑷猙oost榪欏潡C++鐨勮瘯楠岀敯錛屽叾鍩烘湰鏋舵瀯鍜岀粍浠墮兘瀹屽叏鐩稿悓錛屽鏋滀綘鏄竴涓猙oost綰跨▼搴撶殑浣跨敤鑰咃紝閭? 涔堝湪C++11涓紝浣犱細鎰熻鍒版槸鍥炲埌浜嗚佸涓鏍鳳紝鍒板閮芥槸鐔熶漢銆傝屽鏋滀綘鏄竴涓畬鍏ㄧ殑鏂版墜錛屼篃涓嶈绱э紝C++11涓殑綰跨▼搴撻潪甯哥畝鍗曪紝浠諱綍浜洪兘鍙互杞繪澗涓? 鎵嬶紝鎴戝氨鏄繖鏍鳳紝浣嗘槸瑕佹繁絀訛紝榪樺緱濂藉ソ瀛︿範銆?/p>

涓嬮潰鏄竴涓畝鍗曠殑渚嬪瓙錛岀敤鍒頒簡綰跨▼搴撲腑鐨勭嚎紼嬶紙thread錛?浜掓枼錛坢utex錛?鏉′歡鍙橀噺錛坈ondition錛夛紝鏉ユā鎷熶竴涓紨鍞變細鐨勫叆鍦烘紲ㄧ殑鍦烘櫙錛屽彟澶栵紝涓轟簡妯℃嫙瑙備紬錛岀敤鍒頒簡C++11涓殑鏂扮殑闅忔満鏁扮殑浜х敓錛屾ā鎷熶竴涓鎬佸垎甯冪殑璁垮浜虹兢銆備笉璇翠簡錛岃繕鏄湅浠g爜錛?/p>

#include <iostream>
#include <queue>
#include <vector>
// 闅忔満鏁?br />#include <random>
// 榪欓噷錛屾垜浣跨敤浜哹oost瀹炵幇鐨勭嚎紼嬪簱錛屽鏋滀綘鐨勭紪璇戝櫒宸茬粡鏀寔C++11錛屽垯浣跨敤<thread>鏄竴鏍風殑
#include <boost\thread.hpp>
#include <boost\thread\locks.hpp>
#include <boost\thread\condition.hpp>

using namespace std;
using namespace boost;

// 鍏變韓璧勬簮鍜屼簰鏂ュ璞?br />mutex mtx;
bool finish = false;聽 // 琛ㄧず瑙備紬鍒版潵鏄惁緇撴潫

// 瑙備紬錛屼富瑕佹槸涓轟簡琛ㄧず媯紲ㄨ繃紼嬩腑鐨勬紲ㄨ楄垂鏃墮棿
class viewer
{
public:
聽聽聽 void check()
聽聽聽 {
聽聽聽 聽聽聽 // 綰跨▼絳夊緟
聽聽聽聽聽聽聽 posix_time::milliseconds worktime(400);聽
聽聽聽 聽聽聽 this_thread::sleep(worktime);聽聽聽
聽聽聽 }
聽聽聽 void arrival(int t)
聽聽聽 {
聽聽聽 聽聽聽 posix_time::seconds arrtime(t);聽
聽聽聽 聽聽聽 this_thread::sleep(arrtime);聽聽聽
聽聽聽 }
};
// 媯紲ㄥ彛
// 瀹冩湁涓涓槦鍒楋紝鐢ㄤ簬淇濆瓨鍒版潵鐨勮浼楋紝騫朵笖鐢ㄤ竴涓嚎紼嬫潵澶勭悊闃熷垪涓殑瑙備紬
class gate
{
聽聽聽 typedef boost::mutex::scoped_lock scoped_lock;
public:
聽聽聽 gate():count(0),no(0){};
聽聽聽 // 鍚姩綰跨▼
聽聽聽 void start(int n)
聽聽聽 {
聽聽聽 聽聽聽 no = n;
聽聽聽 聽聽聽 t = thread(&gate::check,this);
聽聽聽 }

聽聽聽 // 媯紲?br />聽聽聽 void check()
聽聽聽 {
聽聽聽 聽聽聽 // 鏃犻檺寰幆錛岀煡閬撹浼楁暟涓?涓斾笉浼氭湁鏂扮殑瑙備紬鍒版潵
聽聽聽 聽聽聽 while(true)
聽聽聽 聽聽聽 {
聽聽聽 聽聽聽 聽聽聽 viewer v;
聽聽聽 聽聽聽 聽聽聽 {
聽聽聽 聽聽聽 聽聽聽 聽聽聽 // 閿佸畾浜掓枼瀵硅薄錛屽紑濮嬭闂鍒?br />聽聽聽 聽聽聽 聽聽聽 聽聽聽 scoped_lock lock(m);
聽聽聽 聽聽聽 聽聽聽 聽聽聽 if(0==vque.size())聽 // 濡傛灉闃熷垪涓虹┖
聽聽聽 聽聽聽 聽聽聽 聽聽聽 {
聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 {
聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 // 鍒ゆ柇鏄惁榪樹細鏈夋柊鐨勮浼楀埌鏉ワ紝涔熷嵆鏄〃紺哄埌杈劇殑綰跨▼鏄惁緇撴潫
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 scoped_lock finlk(mtx);
聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 if(finish)
聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 return; // 濡傛灉宸茬粡緇撴潫錛屾紲ㄤ篃鍚屾牱緇撴潫
聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 }
聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 // 濡傛灉瑙備紬鏁頒負0錛屽垯絳夊緟鏂扮殑瑙備紬鐨勫埌鏉?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 while(0 == vque.size())
聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 {聽聽聽
聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽聽聽 // 榪欓噷鐨剋ait()鏄潯浠跺彉閲忕殑鍏抽敭錛屽畠浼氬厛鏄惁lock鎵閿佸畾鐨勪簰鏂ュ璞涓瀹氭椂闂達紝
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // 鐒跺悗鍐嶆閿佸畾錛屾帴鐫榪涜錛?==vque.size()錛夌殑鍒ゆ柇銆傚姝ゅ線澶嶏紝鐭ラ亾size涓嶇瓑浜?錛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // 寰幆鏉′歡鏃犳硶婊¤凍鑰岀粨鏉熷驚鐜紝榪欓噷琛ㄨ揪鐨勬潯浠跺氨鏄紝鍙湁size!=0錛屼篃灝辨槸闃熷垪涓湁
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // 瑙備紬鎵嶇戶緇悜涓嬨?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 cond.wait(lock);
聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 }
聽聽聽 聽聽聽 聽聽聽 聽聽聽 }
聽聽聽 聽聽聽 聽聽聽 聽聽聽 // 浠庡鍒椾腑鑾峰緱瑙備紬錛屽鍏惰繘琛屾紲?
聽聽聽 聽聽聽 聽聽聽 聽聽聽 v = vque.front();
聽聽聽 聽聽聽 聽聽聽 聽聽聽 vque.pop();
聽聽聽 聽聽聽 聽聽聽 聽聽聽 cond.notify_one(); // 榪欓噷鏄氱煡娣誨姞瑙備紬鐨勮繘紼嬶紝琛ㄧず闃熷垪宸茬粡鏈夌┖浣嶇疆浜嗭紝鍙互娣誨姞鏂扮殑瑙備紬
聽聽聽 聽聽聽 聽聽聽 }
聽聽聽 聽聽聽 聽聽聽 v.check();
聽聽聽 聽聽聽 聽聽聽 ++count;
聽聽聽 聽聽聽 }
聽聽聽 }
聽聽聽 // 灝嗚浼楁坊鍔犲埌闃熷垪
聽聽聽 void add(viewer v)
聽聽聽 {

聽聽聽 聽聽聽 // 鍚屾牱榪愮敤鏉′歡鍙橀噺錛屽垽鏂槦鍒楁槸鍚﹀凡緇忔弧浜?br />聽聽聽聽聽聽聽 // 鍙湁鍦ㄩ槦鍒楀皻鏈弧鐨勬儏鍐典笅鎵嶅悜涓嬬戶緇?br />聽聽聽聽聽聽聽 scoped_lock lock(m);
聽聽聽 聽聽聽 while(vque.size() >= 15 )
聽聽聽 聽聽聽 {
聽聽聽 聽聽聽 聽聽聽 cond.wait(lock);
聽聽聽 聽聽聽 }
聽聽聽 聽聽聽 vque.push(v); // 灝嗚浼楁坊鍔犲埌闃熷垪
聽聽聽 聽聽聽 cond.notify_one();聽 // 閫氱煡媯紲ㄨ繘紼嬶紝鏂扮殑瑙備紬榪涘叆闃熷垪錛岃繖鏍峰湪size=0鏃剁瓑寰呯殑鏉′歡鍙互鏇存柊
聽聽聽 }
聽聽聽 int getcount()
聽聽聽 {
聽聽聽 聽聽聽 return count;
聽聽聽 }
聽聽聽 int getno()
聽聽聽 {
聽聽聽 聽聽聽 return no;
聽聽聽 }
聽聽聽 // 絳夊緟綰跨▼鎵ц瀹屾瘯榪斿洖
聽聽聽 void join()
聽聽聽 {
聽聽聽 聽聽聽 t.join();
聽聽聽 }
private:
聽聽聽 thread t;
聽聽聽 mutex m;
聽聽聽 condition cond;
聽聽聽 queue<viewer> vque;
聽聽聽 int count;
聽聽聽 int no;
};

// 涓鍏辨湁10涓紲ㄥ彛
vector<gate> vgates(10);

// 鐢ㄩ殢鏈烘暟妯℃嫙瑙備紬鍒拌揪
void arrival()
{聽聽聽
聽聽聽 default_random_engine re{}; // 浜х敓涓涓潎鍊間負31鐨勬鎬佸垎甯冪殑闅忔満鏁?br />聽聽聽 normal_distribution<double> nd(31,8);

聽聽聽 // 灝嗛殢鏈烘暟寮曟搸鍜屽垎甯冪粦瀹氫竴涓嚱鏁板璞?br />聽聽聽 auto norm = std::bind(nd, re);
聽聽聽 // 淇濆瓨闅忔満鏁扮殑瀹瑰櫒
聽聽聽 vector<int> mn(64);
聽聽聽
聽聽聽 // 浜х敓闅忔満鏁?br />聽聽聽 for(int i = 0;i<700;++i)
聽聽聽 聽聽聽 ++mn[round(norm())];
聽聽聽
聽聽聽 int secs = 100;
聽聽聽 // 浜х敓0鍒?鐨勯殢鏈烘暟錛岃〃紺鴻浼楅殢鏈哄湴鍒拌揪鏌愪竴涓紲ㄥ彛
聽聽聽 uniform_int_distribution<int>聽 index{0,9};
聽聽聽 聽
聽聽聽 // 榪涘叆媯紲ㄥ彛闃熷垪
聽聽聽 for(auto i:mn)
聽聽聽 {
聽聽聽 聽聽聽 cout<<i<<endl;
聽聽聽 聽聽聽 for(auto vi = 1; vi <= i; ++vi)
聽聽聽 聽聽聽 {
聽聽聽 聽聽聽 聽聽聽 // 灝嗚浼楁坊鍔犲埌鏌愪釜gate鐨勯槦鍒椾腑
聽聽聽聽聽聽聽聽聽聽聽聽 (vgates[index(re)]).add(viewer());
聽聽聽 聽聽聽 聽聽聽 // 絳夊緟涓孌墊椂闂?br />聽聽聽 聽聽聽 聽聽聽 int t = round(secs/(float)(i+1));
聽聽聽 聽聽聽 聽聽聽 this_thread::sleep(
聽聽聽 聽聽聽 聽聽聽 posix_time::milliseconds(t));
聽聽聽 聽聽聽 }
聽聽聽 }
聽聽聽 // 瑙備紬宸茬粡鍏ㄩ儴鍒拌揪錛岃繘鍏ラ槦鍒?br />聽聽聽聽 cout<<"finish"<<endl;
聽聽聽 mtx.lock();
聽聽聽 finish = true;
聽聽聽 mtx.unlock();
聽聽聽 //cout<<"unlock"<<endl;
}

int main()
{
聽聽聽 int i = 1;
聽聽聽 // 鍚姩媯紲ㄧ嚎紼?br />聽聽聽 for(gate& g:vgates)
聽聽聽 {
聽聽聽 聽聽聽 g.start(i);
聽聽聽 聽聽聽 ++i;
聽聽聽 }
聽聽聽 // 鍚姩鍒拌揪綰跨▼錛岀湅鐪嬶紝鍦–++11涓柊綰跨▼鐨勫垱寤哄氨榪欎箞綆鍗?br />聽聽聽 thread arr = thread(arrival);
聽聽聽 // 絳夊緟綰跨▼緇撴潫
聽聽聽 arr.join();
聽聽聽 int total = 0;
聽聽聽 // 絳夊緟媯紲ㄧ嚎紼嬬粨鏉燂紝騫惰緭鍑哄鐞嗙殑浜烘暟
聽聽聽 for(gate& g:vgates)
聽聽聽 {
聽聽聽 聽聽聽 g.join();
聽聽聽 聽聽聽 total += g.getcount();
聽聽聽 聽聽聽 cout<<"gate "<<g.getno()
聽聽聽 聽聽聽 聽聽聽 <<" processed "<<g.getcount()<<" viewers."<<endl;
聽聽聽 }
聽聽聽 cout<<"there are "<<total<<"viewers in total."<<endl;
聽聽聽 return 0;
}
榪欏氨鏄竴涓嚎紼嬪簱鐨勭畝鍗曞簲鐢紝妯℃嫙浜嗛潪甯稿鏉傜殑鍦烘櫙銆?/p> 鍥犱負鑷繁瀵瑰綰跨▼寮鍙戣繕涓嶅お鐔熸倝錛岃繖涓▼搴忓湪鏌愪簺鐗瑰畾鏉′歡涓嬩細浜х敓浜嗘閿侊紝榪樻湁寰呰繘涓姝ュ畬鍠?iostream>

]]>
C++灝忓搧錛歸eak_ptr涓庝紶杈懼鐨勮姳鍚嶅唽http://www.shnenglu.com/chenlq/archive/2011/09/20/156334.html闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/dc:creator>闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/author>Tue, 20 Sep 2011 08:29:00 GMThttp://www.shnenglu.com/chenlq/archive/2011/09/20/156334.htmlhttp://www.shnenglu.com/chenlq/comments/156334.htmlhttp://www.shnenglu.com/chenlq/archive/2011/09/20/156334.html#Feedback0http://www.shnenglu.com/chenlq/comments/commentRss/156334.htmlhttp://www.shnenglu.com/chenlq/services/trackbacks/156334.html 鍘熸枃鏉ヨ嚜錛?/p> http://imcc.blogbus.com/logs/162618478.html

鍦–++11涓紝鎴戜滑鍙互浣跨敤shared_ptr綆$悊鏌愪釜瀵硅薄鐨勬墍鏈夋潈錛岃礋璐e璞$殑鏋愭瀯銆傜劧鑰屽湪鏌愪簺鎯呭喌涓嬶紝鎴戜滑鍙槸甯屾湜瀹夊叏鐨勮闂煇涓璞★紝鑰屼笉鎯蟲嫢鏈夎繖涓璞$殑鎵鏈夋潈錛屽榪欎釜鐨勬瀽鏋勮礋璐o紙鏈夌偣鍍忕數瑙嗗墽涓殑閭d簺涓嶈礋璐d換鐨勭敺浜哄摝錛屽彧鏄帺鐜╄屽凡錛屼笉浼氳礋璐o級銆傚湪榪欑鎯呭喌涓嬶紝鎴戜滑鍙互浣跨敤琛ㄧず寮卞紩鐢ㄧ殑weak_ptr銆?/p>

weak_ptr鍙互鐢變竴涓猻hared_ptr鏋勫緩錛岃〃紺鴻繖涓獁eak_ptr鎷ユ湁榪欎釜shared_ptr鎵鎸囧悜鐨勫璞$殑璁塊棶鏉冿紝娉ㄦ剰錛岃繖閲屼粎浠呮槸璁塊棶鏉冿紝瀹冧笉浼氭敼鍙樻櫤鑳芥寚閽堢殑寮曠敤璁℃暟錛岃嚜鐒朵篃灝變笉浼氬幓鏋愭瀯榪欎釜瀵硅薄銆傚埄鐢╳eak_ptr錛屾垜浠氨鍙互瀹夊叏鍦拌闂偅浜涗笉鍏峰鎵鏈夋潈鐨勫璞°?/p>

涓涓幇瀹炰腑鐨勪緥瀛愬氨鏄鏍$殑浼犺揪瀹わ紝浼犺揪瀹ゆ嫢鏈変竴鏈鐢熺殑鍚嶅崟錛屽鏋滄煇涓數璇濇潵浜嗘壘鏌愪釜瀛︾敓錛屼紶杈懼浼氭牴鎹姳鍚嶅唽鍘誨皾璇曡闂繖涓鐢燂紝濡傛灉榪欎釜瀛︾敓榪樺湪瀛︽牎錛屽氨鐩存帴鍛煎彨榪欎釜瀛︾敓錛屽鏋滃凡緇忕寮浜嗭紝榪欑粰榪欎釜瀛︾敓鐣欎竴涓秷鎭傚湪榪欓噷錛岃姳鍚嶅唽涓婄殑瀛︾敓鍙兘榪樺湪瀛︽牎錛堝璞¤繕瀛樺湪錛夛紝涔熷彲鑳藉凡緇忕寮瀛︽牎錛堝璞″凡緇忔瀽鏋勶級錛屾垜浠兘闇瑕佸鍏惰繘琛岃闂紝鑰寃eak_ptr灝辨槸鐢ㄦ潵璁塊棶榪欑涓嶇‘瀹氭槸鍚﹀瓨鍦ㄧ殑瀵硅薄鐨勩?/p>

#include <iostream>
#include <map>
#include <algorithm>
#include <memory>
using namespace std;

// 瀛︽牎鐨勫悓瀛?br />class human
{
public:
human(string _n):name(_n)
{};
~human()
{
cout<<name<<" was destructed."<<endl;
}
void call() // 鍢匡紝鏈変釜鐢佃瘽鎵句綘
{
cout<<name<<" was called."<<endl;
}
private:
string name;
};
// 浼犺揪瀹?br />class doorman
{
public:
doorman(map<string,shared_ptr<human>> humans)
{
// 鏍規嵁瀛︾敓瀵硅薄鏋勯犺姳鍚嶅唽錛屾敞鎰忓叾涓繚瀛樼殑鏄湁shared_ptr鏋勯犵殑weak_ptr
for_each(humans.begin(),humans.end(),
[&names](pair<string,shared_ptr<human>> h)
{
names[h.first] = weak_ptr<human>(h.second);
});
}
// 鏈変釜鐢佃瘽鎵撳埌浜嗕紶杈懼
void call(string name)
{
// 鎵炬壘鐪嬶紝鑺卞悕鍐屼腑鏈夋病鏈夎繖涓鐢?
auto it = names.find(name);
// 濡傛灉鏈?
if(it!=names.end())
{
auto man = (*it).second;
// 鐢╨ock()鍑芥暟灝濊瘯鑾峰緱weak_ptr鎵鎸囧悜鐨剆hared_ptr錛屼繚瀛樹負p
if(auto p = man.lock())
p->call(); // 濡傛灉鎵懼埌鍏寵仈鐨剆hared_ptr錛屼篃灝辨槸榪欎釜瀵硅薄榪樺瓨鍦紝涔熷氨鏄繖涓鐢熻繕鍦ㄥ鏍★紝鍛煎彨涔?br /> else // 濡傛灉鏃犳硶寰楀埌鍏寵仈鐨剆hared_ptr錛岃〃紺鴻繖涓璞″凡緇忎笉瀛樺湪浜嗭紝瀛︾敓紱誨紑浜嗗鏍★紝鍙兘緇欎粬鐣欎竴涓秷鎭簡
{
leavemsg(name);
}
}
else // 濡傛灉鑺卞悕鍐屼腑鏍規湰娌℃湁榪欎釜鍚嶅瓧
{
cout<<name<<" is not in the school."<<endl;
}
}
void leavemsg(string name)
{
cout<<name<<" has left school.I will leave a message for him."<<endl;
}
private:
map<string,weak_ptr<human>> names; // 浼犺揪瀹ょ殑鑺卞悕鍐?br />};
int main()
{
// 瀛︽牎鐨勫鐢?
map<string,shared_ptr<human>> humans;
humans["Jiawei"] = make_shared<human>("Jiawei");
humans["Chen"] = make_shared<human>("Chen");
humans["Xibei"] = make_shared<human>("Xibei");

// 浼犺揪瀹わ紝鏍規嵁瀛︾敓鏋勯犱竴涓姳鍚嶅唽
doorman dm(humans);
// 鏈変漢鎵綜hen
dm.call("Chen");
// 鏈変漢鎵綟u
dm.call("Fu");

// Chen紱誨紑瀛︽牎錛屽璞¤鏋愭瀯
humans.erase("Chen");
// 鍙堟湁浜烘墦鏉ョ數璇濇壘Chen錛岃繖鏃朵粬宸茬粡涓嶅湪瀛︽牎錛屽彧鑳界粰浠栫暀涓涓秷鎭簡
dm.call("Chen");
// 鏈変漢鎵綣iawei錛屽ス榪樺湪瀛︽牎鍛紝鐩存帴鍙ス
dm.call("Jiawei");

return 0;
}
浠庤繖孌電▼搴忕殑杈撳嚭錛屾垜浠篃鍙互鐪嬪嚭錛屾垜浠湪鍒犻櫎humans瀹瑰櫒涓殑Chen榪欎釜鍏冪礌鏄紝瀵瑰簲鐨刪uman瀵硅薄涔熻鏋愭瀯錛宒oorman涓寚鍚戣繖涓璞$殑weak_ptr騫朵笉褰卞搷瀹冪殑鏋愭瀯錛屽綋鎴戜滑鍐嶆灝濊瘯璁塊棶榪欎釜瀵硅薄鏃跺欙紝lock()鏃犳硶鎴愬姛鑾峰緱涓庝箣鍏寵仈鐨剆hared_ptr錛屼篃灝辨棤娉曞鍏惰繘琛岃闂簡銆?/map>

Chen was called.
Fu is not in the school.
Chen was destructed.
Chen has left school.I will leave a message for him.
Jiawei was called.
Xibei was destructed.
Jiawei was destructed.

榪欓噷澶у鍙兘浼氶棶錛屼負浠涔堜笉鍦╠oorman涓嬌鐢ㄨ8鎸囬拡鍛紵銆傘傘?

閭d箞錛屼負浠涔堜笉鐩存帴浣跨敤shared_ptr鍛紵 鍙傝冨師鏂囥?/map>

鎬葷粨璧鋒潵錛寃eak_ptr鐢ㄤ簬璁塊棶浜嗛偅浜涗笉鍏峰鎵鏈夋潈鐨勶紝鍙兘瀛樺湪涔熷彲鑳戒笉瀛樺湪鐨勫璞°?/map>



]]>
C++灝忓搧錛氬悆鐏攨涓巗hared_ptr錛屾寚閽堬紝鎷瘋礉鏋勯犲嚱鏁板拰deletehttp://www.shnenglu.com/chenlq/archive/2011/09/10/155511.html闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/dc:creator>闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/author>Sat, 10 Sep 2011 08:10:00 GMThttp://www.shnenglu.com/chenlq/archive/2011/09/10/155511.htmlhttp://www.shnenglu.com/chenlq/comments/155511.htmlhttp://www.shnenglu.com/chenlq/archive/2011/09/10/155511.html#Feedback0http://www.shnenglu.com/chenlq/comments/commentRss/155511.htmlhttp://www.shnenglu.com/chenlq/services/trackbacks/155511.html鍘熸枃鏉ヨ嚜

http://imcc.blogbus.com/

C++灝忓搧錛氬悆鐏攨涓巗hared_ptr錛屾寚閽堬紝鎷瘋礉鏋勯犲嚱鏁板拰delete

璇昏匱erry闂埌涓涓叧浜庢嫹璐濇瀯閫犲嚱鏁扮殑闂錛屽ぇ瀹跺彲浠ュ弬鑰?a >絳擳erry錛氭嫹璐濇瀯閫犲嚱鏁?/a>錛屽叾涓榪頒簡鎷瘋礉鏋勯犲嚱鏁扮殑蹇呰鎬э紝鐒惰岋紝浠諱綍浜嬬墿閮芥槸鍏鋒湁涓ら潰鎬х殑錛屾湁鏃跺欐垜浠渶瑕佽嚜宸卞畾涔夌被鐨勬嫹璐濇瀯閫犲嚱鏁版潵瀹屾垚綾葷殑鎷瘋礉錛岀劧鍚庯紝鏈夌殑鏃跺欙紝榪欑浠ユ嫹璐濅竴涓璞℃潵瀹屾垚鍙﹀涓涓璞$殑鍒涘緩鏄笉鍚堢悊鐨勶紙涔熷氨鏄湪鐜板疄涓栫晫涓紝榪欑瀵硅薄娌℃湁鍙鍒舵э紝渚嬪錛屼漢姘戝竵錛夛紝鏄簲璇ヨ紱佹鐨勩傛垜浠潵涓句竴涓悆鐏攨鐨勪緥瀛愶細

// 鐏攨錛屽彲浠ヤ粠涓彇鍑哄叾涓儷鐨勪笢瑗?
class hotpot
{
public:
hotpot(string f) : food(f)
{
}
string fetch()
{
return food;
}
private:
string food;
};

// 鍚冪伀閿呯敤鐨勭錛屽綋鐒舵槸姣忎釜浜轟笓鐢ㄧ殑
class bowl
{
public:
bowl(string o) : owner(o)
{
}
void put(string food)
{
cout<<"put "< }

private:
string owner;
};
// 鍚冪伀閿呯殑浜?br />class human
{
public:
// 鍚嶅瓙鍜屽悆鐨勭伀閿?
human(string n,shared_ptr ppot) : name(n),pot(ppot)
{
pbowl = new bowl(name);
};
// OK浜嗭紝浠庣伀閿呬腑鍙栧嚭鏉ユ斁鍒拌嚜宸辯殑紕楅噷
void fetch()
{
string food = pot->fetch();
// 鏀懼埌鑷繁鐨勭閲?
coutput(food);
}

private:
string name;
shared_ptr pot;
bowl* pbowl;
};
int main()
{
// 鏈嶅姟鍛樼涓婃潵鐗涜倝鐏攨
shared_ptr fpot(new hotpot("beaf"));
// terry鍏ュ腑
human terry("terry",fpot);
// 鍙堟潵浜嗕竴涓闄堢殑錛岃繖閲岀敤鐨勬槸榛樿鐨勬嫹璐濇瀯閫犲嚱鏁版潵鍒涘緩terry鐨勫壇鏈?br />human chen = terry;
// terry澶逛簡涓鍧楄倝
terry.fetch();
// 闄堝厛鐢熶篃澶逛簡涓鍧楄倝
chen.fetch();

return 0;
}

鍒拌繖閲岋紝浼間箮鐪嬭搗鏉ヤ竴鍒嘜K錛岀劧鑰屼粠紼嬪簭杈撳嚭涓垜浠嵈鍙戠幇浜嗛棶棰橈細

terry put beaf into terry's bowl.
terry put beaf into terry's bowl.

O my god錛佹槑鏄庢槸涓や釜浜猴紙terry鍜宑hen錛夛紝浣嗘槸濂藉儚鍗村彧鏈変竴涓漢鍋氫簡涓ゆ錛岄檲鍏堢敓涔熸妸鑲夊姞鍒頒簡terry鐨勭閲屻?/p>

榪欏氨鏄綋綾諱腑鏈夋寚閽堢被鍨嬬殑鏁版嵁鎴愬憳鏃訛紝浣跨敤榛樿鐨勬嫹璐濇瀯閫犲嚱鏁版墍甯︽潵鐨勯棶棰橈紝瀵艱嚧鍏朵腑鐨勬煇浜涙寚閽堟垚鍛樻病鏈夎鍚堢悊鍦板垵濮嬪寲錛岃繖鍒槸褰撹繖浜涙寚閽堟寚鍚戠殑鏄笌榪欎釜瀵硅薄錛坔uman錛夋湁鎵灞炲叧緋葷殑璧勬簮錛坆owl錛夛紝鍦ㄨ繖縐嶆椂鍊欙紝鎴戜滑蹇呴』鑷繁瀹氫箟綾葷殑鎷瘋礉鏋勯犲嚱鏁幫紝瀹屾垚鎸囬拡鎴愬憳鐨勫悎鐞嗗垵濮嬪寲銆傚湪human涓坊鍔犱竴涓嫹璐濇瀯閫犲嚱鏁?/p>

human(const human& h)
{
// 涓や釜浜烘樉鐒朵笉鑳藉悓鍚嶏紝鎵浠ュ彧濂界粰涓棤鍚嶆皬浜?
name = "unknown";
// 浣跨敤涓嶅悓鐨勭
// bowl鍜宧uman鏈夋墍灞炲叧緋伙紝鎵浠ヨ繖閲屽繀欏誨垱寤烘柊鐨勫璞?
pbowl = new bowl(name);
// 涓嶈繃鍙互鍚冨悓涓涓伀閿?
// pot鍜宧uman騫舵病鏈夋墍灞炲叧緋伙紝鎵浠ュ彲浠ュ叡浜竴涓璞?br />pot = h.pot;
};

娣誨姞鎷瘋礉鏋勯犳瀯閫犲嚱鏁頒箣鍚庯紝涓や釜浜轟笉浼氬皢涓滆タ鏀懼埌鍚屼竴涓涓簡錛岃嚜宸卞彇寰椾笢瑗夸笉浼氭斁鍒板埆浜虹殑紕楅噷錛?/p>

terry put beaf into terry's bowl.
unknown put beaf into unknown's bowl.

榪欐牱淇敼濂藉浜嗭紝鑷沖皯涓や釜浜轟笉浼氱敤鍚屼竴涓浜嗐傜劧鑰岋紝榪欐牱榪樻槸鏈夐棶棰橈紝鎴戜滑鏃犳硶緇欑浜屼釜浜哄懡鍚嶏紝浠栨垚浜嗘棤鍚嶆皬浜嗭紝榪欏氨鏄被褰撲腑鐨勯偅浜涙病鏈夊彲澶嶅埗鎬х殑鏁版嵁鎴愬憳錛堜竴涓漢鐨勫悕瀛楄嚜鐒朵笉鍙互澶嶅埗緇欏彟澶栦竴涓漢錛屽鏋渉uman涓湁涓獁ife錛岄偅鑲畾瑕佷笂婕斾笘鐣屽ぇ鎴樹簡錛夛紝鎷瘋礉鏋勯犲嚱鏁板氨浼氫駭鐢熻繖鏍風殑闂銆?/p>

瀹為檯涓婏紝瀵逛簬榪欑被涓嶅叿澶囧彲澶嶅埗鎬х殑瀵硅薄錛屼負浜嗕笉寮曡搗娣蜂貢錛屽叾鎷瘋礉鏋勯犳搷浣滄槸搴斿綋琚姝㈢殑錛屾柊鏍囧噯C++11灝辨敞鎰忓埌浜嗚繖涓棶棰橈紝鎻愪緵浜嗕竴涓猟elete鍏抽敭瀛楁潵紱佺敤鏌愪簺鍙兘瀛樺湪鐨勶紙鍗充嬌浣犺瀹歨uman涓嶅彲澶嶅埗錛屼篃鏃犳硶闃繪紼嬪簭鍛樺湪浣跨敤human鏃跺啓鍑篽uman chen = terry榪欐牱鐨勪笉鍚堢悊鐨勪唬鐮侊級榛樿鐨勶紙綾葷殑鎷瘋礉鏋勯犲嚱鏁版槸榛樿鎻愪緵鐨勶紝瀵逛簬閭d簺涓嶅叿澶囧彲澶嶅埗鎬х殑綾繪潵璇達紝榪欑畝鐩存槸鐢昏泧娣昏凍錛屽ソ蹇冨姙浜嗗潖浜嬫儏錛変笉鍚堢悊鐨勬搷浣滐紝榪欐牱錛屾垜浠氨涓嶈兘浣跨敤鎷瘋礉 鏋勯犲嚱鏁頒簡錛?/p>

// 紱佺敤human鐨勬嫹璐濇瀯閫犲嚱鏁?br />human(const human& h) = delete;

緇忚繃榪欐牱鐨勫畾涔夛紝褰撴垜浠湪浠g爜涓皾璇曞皢涓涓璞″鍒剁粰鍙﹀涓涓璞★紙浼氳皟鐢ㄦ嫹璐濇瀯閫犲嚱鏁幫級鏃訛紝緙栬瘧鍣ㄥ氨浼氬嚭閿欒鎻愮ず錛屾彁閱掔▼搴忓憳錛歨i錛岃繖鏍峰彲涓嶈錛屾垜鏄嫭涓鏃犱簩鐨勶紝涓嶈兘澶熻澶嶅埗

human chen = terry;

緙栬瘧鍣ㄧ粰榪欐牱鐨勬彁紺猴細
Noname1.cpp:41:2: error: deleted function 'human::human(const human&)'
Noname1.cpp:59:15: error: used here

鎵浠ワ紝鎬葷粨璧鋒潵錛屽湪浣跨敤鎷瘋礉鏋勯犲嚱鏁版椂錛屾湁涓や釜闇瑕佹敞鎰忕殑鍦版柟錛?/p>

  • 濡傛灉綾誨綋涓湁鎸囧悜鍏鋒湁鎵灞炲叧緋葷殑瀵硅薄鐨勬寚閽堟椂錛坔uman涓殑pbowl鎸囧悜鐨勬槸灞炰簬human鐨刡owl瀵硅薄錛屾瘡涓猦uman瀵硅薄搴旇鏈変笓灞炵殑bowl瀵硅薄錛夛紝鎴戜滑蹇呴』鑷畾涔夋嫹璐濇瀯閫犲嚱鏁幫紝涓鴻繖涓寚閽堝垱寤哄睘浜庤嚜宸辯殑涓撳睘瀵硅薄銆?
  • 濡傛灉榪欎釜綾誨綋涓紝鏈変笉鍏峰鍙鍒舵х殑鎴愬憳錛堜緥濡俷ame錛宺mb錛寃ife絳夛級錛屼負浜嗛槻姝㈠璞¤閿欒鐨勫鍒訛紙鍗充嬌鎴戜滑娌℃湁瀹氫箟鎷瘋礉鏋勯犲嚱鏁幫紝緙栬瘧鍣ㄤ篃浼氶粯璁ゆ彁渚涳紝鐪熸槸澶氭涓涓撅級錛屾垜浠繀欏葷敤delete紱佺敤鎷瘋礉鏋勯犲嚱鏁幫紝榪欐牱鎵嶈兘淇濊瘉瀵硅薄涓嶄細琚敊璇湴澶嶅埗銆傚叧浜巋uman鐨勫厠闅嗘妧鏈紝搴斿綋鏄鏄庝護紱佹錛坉elete錛夌殑銆?/li>


]]>
鍑芥暟璋冪敤鏈哄埗http://www.shnenglu.com/chenlq/archive/2011/07/23/151697.html闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/dc:creator>闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/author>Sat, 23 Jul 2011 03:27:00 GMThttp://www.shnenglu.com/chenlq/archive/2011/07/23/151697.htmlhttp://www.shnenglu.com/chenlq/comments/151697.htmlhttp://www.shnenglu.com/chenlq/archive/2011/07/23/151697.html#Feedback1http://www.shnenglu.com/chenlq/comments/commentRss/151697.htmlhttp://www.shnenglu.com/chenlq/services/trackbacks/151697.html鏇村鏉ヨ嚜錛歨ttp://imcc.blogbus.com

5.1.2 鍑芥暟璋冪敤鏈哄埗

鍦ㄥ涔犵紪鍐欏嚱鏁頒箣鍓嶏紝鎴戜滑棣栧厛瑕佷簡瑙e嚱鏁扮殑璋冪敤鏈哄埗錛屽浼氬浣曡皟鐢ㄤ竴涓凡緇忓瓨鍦ㄧ殑鍑芥暟銆備笘鐣屼笂宸茬粡鏈夊緢澶氬嚱鏁幫紝鎴戜滑鍙互鐩存帴璋冪敤榪欎簺鍑芥暟鏉ュ畬鎴愭棩甯鎬換鍔°備笘鐣屼笂宸茬粡鏈夊緢澶氳疆瀛愶紝鎴戜滑娌℃湁蹇呰鍐嶅幓鍙戞槑鏇村鍚屾牱鐨勮疆瀛愶紝鍙渶瑕佺敤濂藉畠浠氨鍙互浜嗐傚湪瀹為檯鐨勫紑鍙戜腑錛屽彲渚涜皟鐢ㄧ殑鐜版湁鍑芥暟涓昏鏈夌紪璇戝櫒鎻愪緵鐨勫簱鍑芥暟銆乄indows API鍙婄涓夋柟鎻愪緵鐨勫嚱鏁板簱絳夈傞氳繃璋冪敤浠栦漢鐨勫嚱鏁幫紝鍙互澶嶇敤浠栦漢鐨勫紑鍙戞垚鏋滐紝鍦ㄥ叾寮鍙戞垚鏋滅殑鍩虹涓婏紝瀹炵幇蹇熷紑鍙戯紝濡傚浘5-3鎵紺恒?/p>

鏈変簡鍒漢鎻愪緵鐨勫嚱鏁幫紝灝卞彲浠ヨ皟鐢ㄨ繖浜涘嚱鏁版潵瀹屾垚鑷繁鐨勫姛鑳姐備袱涓嚱鏁頒箣闂寸殑鍏崇郴鏄皟鐢ㄤ笌琚皟鐢ㄧ殑鍏崇郴錛屾垜浠妸璋冪敤鍏朵粬鍑芥暟鐨勫嚱鏁扮О涓轟富璋冨嚱鏁幫紝琚叾浠栧嚱鏁拌皟鐢ㄧ殑鍑芥暟縐頒負琚皟鍑芥暟銆備竴涓嚱鏁版槸涓昏皟鍑芥暟榪樻槸琚皟鍑芥暟騫朵笉鏄粷瀵圭殑錛岃鏍規嵁鍏舵墍澶勭殑鐩稿浣嶇疆鑰屽畾錛氬鏋滀竴涓嚱鏁板唴閮ㄦ湁鍑芥暟錛屽垯鐩稿鍏跺唴閮ㄧ殑鍑芥暟瀹冨氨鏄富璋冨嚱鏁幫紱濡傛灉瀹冪殑澶栭儴鏈夊嚱鏁幫紝鍒欑浉瀵瑰叾澶栭儴鍑芥暟瀹冨氨鏄璋冨嚱鏁般?/p>

clip_image002

鍥?-3 澶╀笂鎺変笅涓嚱鏁板簱



]]>
灝嗙▼搴忚鍒扮瀛愪腑錛氬嚱鏁扮殑澹版槑鍜屽畾涔?/title><link>http://www.shnenglu.com/chenlq/archive/2011/07/22/151625.html</link><dc:creator>闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/dc:creator><author>闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/author><pubDate>Fri, 22 Jul 2011 05:25:00 GMT</pubDate><guid>http://www.shnenglu.com/chenlq/archive/2011/07/22/151625.html</guid><wfw:comment>http://www.shnenglu.com/chenlq/comments/151625.html</wfw:comment><comments>http://www.shnenglu.com/chenlq/archive/2011/07/22/151625.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/chenlq/comments/commentRss/151625.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chenlq/services/trackbacks/151625.html</trackback:ping><description><![CDATA[<p>鏇村鏉ヨ嚜錛?a >http://imcc.blogbus.com</a></p> <p> </p> <p>5.1.1 灝嗙▼搴忚鍒扮瀛愪腑錛氬嚱鏁扮殑澹版槑鍜屽畾涔?/p> <p>鎻愰棶錛氭妸澶ц薄瑁呭埌鍐扮涓渶瑕佸嚑姝ワ紵</p> <p>鍥炵瓟錛氶渶瑕佷笁姝ャ傜涓錛屾墦寮鍐扮錛涚浜岋紝鎶婂ぇ璞℃斁榪涘啺綆憋紱絎笁錛屽叧涓婂啺綆便?/p> <p>鎻愰棶錛氶偅涔堬紝鎶婁竴涓▼搴忔斁榪涚瀛愰渶瑕佸嚑姝ワ紵</p> <p>鍥炵瓟錛氶渶瑕佷袱姝ャ傜涓錛屽0鏄庝竴涓嚱鏁幫紱絎簩錛屽畾涔夎繖涓嚱鏁般?/p> <p>娌¢敊錛屾妸涓涓嚱鏁版斁榪涚瀛愭瘮鎶婂ぇ璞℃斁榪涘啺綆辮繕瑕佺畝鍗曘傚綋鍒嗘瀽涓孌甸暱鐨勭▼搴忎唬鐮佹椂錛屽線寰浼氬彂鐜頒竴浜涗唬鐮佹墍瀹炵幇鐨勫姛鑳界浉瀵規瘮杈冪嫭绔嬨傛垜浠皢紼嬪簭涓繖浜涚浉瀵規瘮杈冪嫭绔嬬殑鍔熻兘浠g爜緇勭粐鍒頒竴璧鳳紝鐢ㄥ嚱鏁板鍏惰繘琛屽皝瑁咃紝涔熷氨鏄皢涓涓緝闀跨殑紼嬪簭鍒嗘斁鍒板悇涓嚱鏁扮瀛愪腑銆?/p> <p>瑕佽涓滆タ錛屽厛寰楀噯澶囧ソ綆卞瓙銆備負浜嗘壘鍒板叿浣撳姛鑳藉疄鐜頒唬鐮佺殑綆卞瓙錛岄渶瑕佺粰綆卞瓙璐翠笂鏍囩錛岃繖涓爣絳懼氨鏄嚱鏁扮殑澹版槑錛屽鍥?-2鎵紺恒?/p> <p> <a > <img style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="clip_image002" alt="clip_image002" src="http://images.cnblogs.com/cnblogs_com/chenliangqiao/201107/201107221323004430.gif" border="0" height="232" width="246" /> </a> </p> <p>鍥?-2 澹版槑涓涓嚱鏁幫紝涓虹瀛愯創涓?/p><img src ="http://www.shnenglu.com/chenlq/aggbug/151625.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chenlq/" target="_blank">闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/a> 2011-07-22 13:25 <a href="http://www.shnenglu.com/chenlq/archive/2011/07/22/151625.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎶婄▼搴忚榪涚瀛愶細鐢ㄥ嚱鏁板皝瑁呯▼搴忓姛鑳?/title><link>http://www.shnenglu.com/chenlq/archive/2011/07/21/151526.html</link><dc:creator>闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/dc:creator><author>闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/author><pubDate>Thu, 21 Jul 2011 01:45:00 GMT</pubDate><guid>http://www.shnenglu.com/chenlq/archive/2011/07/21/151526.html</guid><wfw:comment>http://www.shnenglu.com/chenlq/comments/151526.html</wfw:comment><comments>http://www.shnenglu.com/chenlq/archive/2011/07/21/151526.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/chenlq/comments/commentRss/151526.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chenlq/services/trackbacks/151526.html</trackback:ping><description><![CDATA[<p>鏇村鏉ヨ嚜錛?a >http://imcc.blogbus.com</a></p> <p> </p> <p>鷗 鎶婄▼搴忚榪涚瀛愶細鐢ㄥ嚱鏁板皝瑁呯▼搴忓姛鑳?a ><img style="margin: 0px; border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="clip_image001" alt="clip_image001" src="http://images.cnblogs.com/cnblogs_com/chenliangqiao/201107/20110721094157102.gif" border="0" height="2" width="600" /></a></p> <p>鍦ㄥ畬鎴愯豹鍗庣殑宸ヨ祫緇熻紼嬪簭涔嬪悗錛屾垜浠俊蹇冨嶅錛屽紑濮嬪悜C++涓栫晫鐨勬洿娣辮繙澶勬帰绱€?/p> <p>鐜板湪錛屽彲浠ヤ嬌鐢ㄥ悇縐嶆暟鎹被鍨嬪拰紼嬪簭嫻佺▼鎺у埗緇撴瀯鏉ョ紪鍐欏畬鏁寸殑紼嬪簭浜嗐備絾鏄紝闅忕潃瑕佸鐞嗙殑闂瓚婃潵瓚婂鏉傦紝紼嬪簭鐨勪唬鐮佷篃瓚婃潵瓚婂鏉傦紝涓誨嚱鏁頒篃瓚婃潵瓚婇暱浜嗐傝繖灝卞儚鎴戜滑灝嗘墍鏈変笢瑗塊兘鍫嗘斁鍒頒竴涓粨搴撲腑錛岄殢鐫涓滆タ瓚婃潵瓚婂錛屼粨搴撴參鎱㈠氨琚悇縐嶄笢瑗垮爢婊′簡錛屾樉寰楁潅涔辨棤绔狅紝綆$悊璧鋒潵闈炲父鍥伴毦銆傞潰瀵逛竴涓潅涔辨棤绔犵殑浠撳簱錛岃仾鏄庣殑浠撳簱綆$悊鍛樻彁渚涗簡涓涓緢濂界殑綆$悊鍔炴硶錛氬皢涓滆タ鍒嗛棬鍒被鍦拌榪涚瀛愶紝鐒跺悗鏈夊簭鍦板爢鏀懼悇涓瀛愩?/p> <p>榪欎釜濂芥柟娉曚篃鍙互鐢ㄥ埌紼嬪簭璁捐涓紝鎶婄▼搴忚榪涚瀛愶紝璁╂暣涓▼搴忕粨鏋勬竻鏅般?/p> <p> <a > <img style="margin: 0px; border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="clip_image003" alt="clip_image003" src="http://images.cnblogs.com/cnblogs_com/chenliangqiao/201107/201107210941599032.gif" border="0" height="432" width="432" /> </a> </p> <p>5.1 鍑芥暟灝辨槸涓涓ぇ綆卞瓙</p> <p>褰撹澶勭悊鐨勯棶棰樿秺鏉ヨ秺澶嶆潅錛岀▼搴忚秺鏉ヨ秺搴炲ぇ鐨勬椂鍊欙紝濡傛灉鎶婅繖浜涚▼搴忎唬鐮侀兘鏀懼埌涓誨嚱鏁頒腑錛屽皢浣垮緱鏁翠釜涓誨嚱鏁板紓甯歌噧鑲匡紝榪欐牱浼氱粰紼嬪簭鐨勭淮鎶ゅ甫鏉ラ夯鐑︺傚悓鏃訛紝瑕佽涓涓富鍑芥暟鏉ュ畬鎴愭墍鏈夌殑浜嬫儏錛屽嚑涔庢槸涓涓笉鍙兘瀹屾垚鐨勪換鍔°傚湪榪欑鎯呭喌涓嬶紝鍙互鏍規嵁鈥滃垎鑰屾不涔嬧濈殑鍘熷垯錛屾寜鐓у姛鑳界殑涓嶅悓灝嗗ぇ鐨勭▼搴忚繘琛屾ā鍧楀垝鍒嗭紝鍏鋒湁鐩稿悓鍔熻兘鐨勫垝鍒嗗埌鍚屼竴涓ā鍧椾腑錛岀劧鍚庡垎鍒鐞嗗悇涓ā鍧椼傚嚱鏁幫紝鍒欐垚涓烘ā鍧楀垝鍒嗙殑鍩烘湰鍗曚綅錛屾槸瀵逛竴涓皬鍨嬮棶棰樺鐞嗚繃紼嬬殑涓縐嶆娊璞°傝繖灝卞儚綆$悊涓涓粨搴擄紝鎬繪槸灝嗗悓綾葷殑涓滆タ鏀懼埌鍚屼竴涓瀛愪腑錛岀劧鍚庨氳繃綆$悊榪欎簺綆卞瓙鏉ョ鐞嗘暣涓粨搴撱傚湪鍏蜂綋鐨勫紑鍙戝疄璺典腑錛屾垜浠厛灝嗙浉瀵圭嫭绔嬬殑銆佺粡甯鎬嬌鐢ㄧ殑鍔熻兘鎶借薄涓哄嚱鏁幫紝鐒跺悗閫氳繃榪欎簺鍑芥暟鐨勭粍鍚堟潵瀹屾垚涓涓瘮杈冨ぇ鐨勫姛鑳姐備婦涓涓畝鍗曠殑渚嬪瓙錛氱湅涔︾湅寰楄倸瀛愰タ浜嗭紝鎴戜滑瑕佹場鏂逛究闈㈠悆銆傝繖鍏跺疄鏄竴涓緢澶嶆潅鐨勮繃紼嬶紝鍥犱負榪欎竴榪囩▼涓垜浠厛瑕佹礂閿咃紝鐒跺悗鐑ф按錛屾按鐑у紑鍚庡啀娉¢潰錛屽悆瀹岄潰鍚庤繕瑕佹礂紕椼傚鏋滄妸鏁翠釜榪囩▼鎻忚堪鍦ㄤ富鍑芥暟涓紝閭d箞涓誨嚱鏁頒細闈炲父澶嶆潅錛岀粨鏋勬販涔便傝繖鏃跺氨鍙互浣跨敤鍑芥暟鏉ュ皝瑁呮暣涓繃紼嬩腑鐨勪竴浜涘皬姝ラ錛岃鏁翠釜涓誨嚱鏁扮畝鍖栦負瀵硅繖浜涘嚱鏁扮殑璋冪敤錛屽鍥?-1鎵紺恒?/p> <p> <a > <img style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="clip_image005" alt="clip_image005" src="http://images.cnblogs.com/cnblogs_com/chenliangqiao/201107/201107210942005835.gif" border="0" height="202" width="401" /> </a> </p> <p>鍥?-1 灝嗙▼搴忓皝瑁呭埌綆卞瓙錛屽垎鑰屾不涔?/p><img src ="http://www.shnenglu.com/chenlq/aggbug/151526.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chenlq/" target="_blank">闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/a> 2011-07-21 09:45 <a href="http://www.shnenglu.com/chenlq/archive/2011/07/21/151526.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瀵瑰驚鐜繘琛屾帶鍒訛細break涓巆ontinuehttp://www.shnenglu.com/chenlq/archive/2011/07/20/151464.html闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/dc:creator>闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/author>Wed, 20 Jul 2011 03:48:00 GMThttp://www.shnenglu.com/chenlq/archive/2011/07/20/151464.htmlhttp://www.shnenglu.com/chenlq/comments/151464.htmlhttp://www.shnenglu.com/chenlq/archive/2011/07/20/151464.html#Feedback0http://www.shnenglu.com/chenlq/comments/commentRss/151464.htmlhttp://www.shnenglu.com/chenlq/services/trackbacks/151464.htmlhttp://imcc.blogbus.com

4.3.4 瀵瑰驚鐜繘琛屾帶鍒訛細break涓巆ontinue

// 澶ф鐨勬敹鏀粺璁$▼搴?/p>

int nTotal = 0;

int nInput = 0;

do

{

cout<< "璇瘋緭鍏ヤ綘鐨勬敹鍏ユ垨鏀嚭錛?;

cin>>nInput;

if( 1000< nInput ) // 姣涙瘺闆ㄥ晩錛屽氨涓嶇敤緇熻浜?/p>

continue;

nTotal += nInput;

}while( 0 != nInput );

鍦ㄨ繖涓ぇ嬈劇殑鏀舵敮緇熻紼嬪簭涓紝nInput鎺ユ敹鐢ㄦ埛杈撳叆鍚庡垽鏂叾鍊兼槸鍚﹀皬浜? 000錛屽鏋滃皬浜? 000錛屽垯鎵цcontinue鍏抽敭瀛楋紝璺寵繃鍚庨潰鐨勫姞鍜岃鍙モ渘Total += nInput;鈥濓紝鑰岀洿鎺ヨ煩杞埌瀵規潯浠惰〃杈懼紡鈥? != nInput鈥濈殑璁$畻錛屽垽鏂槸鍚﹀彲浠ュ紑濮嬩笅涓嬈″驚鐜傚煎緱娉ㄦ剰鐨勬槸錛屽湪for寰幆涓紝鎵цcontinue鍚庯紝鎺у埗鏉′歡鍙樺寲鐨勬洿鏀硅鍙ュ茍娌℃湁琚煩榪囷紝浠嶇劧灝嗚鎵ц錛岀劧鍚庡啀璁$畻鏉′歡琛ㄨ揪寮忥紝灝濊瘯涓嬩竴嬈″驚鐜?/p>

铏界劧break鍜宑ontinue閮芥槸鍦ㄦ煇縐嶆潯浠朵笅璺沖嚭寰幆錛屼絾鏄袱鑰呮湁鏈川鐨勫樊鍒細break鏄煩鍑烘暣涓驚鐜紝绔嬪埢緇撴潫寰幆璇彞鐨勬墽琛岋紱鑰宑ontinue鍙煩鍑烘湰嬈″驚鐜紝緇х畫鎵ц涓嬩竴嬈″驚鐜傚浘4-6灞曠ず浜哹reak鍜宑ontinue涔嬮棿鐨勫尯鍒?/p>

clip_image002[4]

鍥?-6 break鍜宑ontinue涔嬮棿鐨勫尯鍒?/p>

]]>
銆婃垜鐨勭涓鏈珻++涔︺嬭糠浣犱功鈥斺旂湅鍥懼C++鍏嶈垂涓嬭澆http://www.shnenglu.com/chenlq/archive/2011/07/19/151370.html闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/dc:creator>闄堣壇涔斺斺斻婃垜鐨勭涓鏈珻++涔︺?/author>Tue, 19 Jul 2011 03:41:00 GMThttp://www.shnenglu.com/chenlq/archive/2011/07/19/151370.htmlhttp://www.shnenglu.com/chenlq/comments/151370.htmlhttp://www.shnenglu.com/chenlq/archive/2011/07/19/151370.html#Feedback1http://www.shnenglu.com/chenlq/comments/commentRss/151370.htmlhttp://www.shnenglu.com/chenlq/services/trackbacks/151370.html clip_image002

The world is built on C++.

鈥斺?/em> Herb Sutter

鐪嬪緱鏈夎叮銆佸寰楄交鏉?/p>

鐪嬪浘涔熻兘瀛++錛燂紒

娌¢敊錛岀湅鍥句篃鑳藉C++錛?/p>

榪欐湰榪蜂綘涔︽槸銆婃垜鐨勭涓鏈珻++涔︺嬬殑榪蜂綘鐗堬紝瀹冩娊鍙栦簡銆婃垜鐨勭涓鏈珻++涔︺嬩腑鐨勫叏閮ㄧ殑綺劇編鎻掑浘錛屽茍閰嶄笂鐩稿簲鐨勮В閲婅鏄庛傚畠浠ュ浘鏂囧茍鑼傜殑鐢熷姩褰㈠紡錛屽悜浣犺瑙i偅浜涙墍璋撶殑楂樻繁鐨凜++鐭ヨ瘑錛岃浣犲閭d簺鎶借薄鐨凜++鐭ヨ瘑鏈変竴涓洿鍔犲艦璞$殑鐞嗚В錛屽悜浣犲睍紺鴻繖涓編涓借岀縐樼殑C++涓栫晫錛岃浣犲湪鏈夎叮鐨勭湅鍥捐繃紼嬩腑錛岃交鏉懼湴瀛﹀埌浜咰++鐭ヨ瘑銆?/p>

clip_image004

鐪嬪緱鏈夎叮銆佸寰楄交鏉?

鍏嶈垂涓嬭澆



]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产一区二区三区在线播| 亚洲电影免费在线观看| 亚洲一区二区三区免费视频| 99re6热在线精品视频播放速度| 亚洲精品国产系列| 亚洲视频一区二区| 欧美在线电影| 欧美大片91| 国产精品试看| 亚洲大胆在线| 性欧美xxxx大乳国产app| 毛片一区二区三区| 夜夜嗨一区二区三区| 蜜桃久久av一区| 国产日韩一区二区| 一区二区精品国产| 噜噜噜久久亚洲精品国产品小说| 麻豆精品网站| 亚洲欧美在线一区| 日韩视频在线免费观看| 国产午夜精品一区二区三区欧美 | 欧美黑人国产人伦爽爽爽| 亚洲精选在线| 欧美精品在线视频观看| 黄色精品网站| 久久成人免费电影| 中国女人久久久| 激情五月***国产精品| 欧美在线观看天堂一区二区三区| 亚洲人成免费| 国产一区在线观看视频| 久久日韩精品| 亚洲在线免费观看| 亚洲精品国精品久久99热一| 欧美成人四级电影| 免费看的黄色欧美网站| 亚洲黄色免费网站| 午夜久久久久久久久久一区二区| 欧美视频日韩视频在线观看| 亚洲激情自拍| 久久精品国产成人| 樱桃国产成人精品视频| 欧美a级片网站| 麻豆国产精品777777在线| 亚洲欧美资源在线| 欧美日韩成人综合在线一区二区| 一区二区三区国产盗摄| 久热精品视频在线| 日韩午夜一区| 在线视频精品| 日韩一区二区电影网| 久久久久久**毛片大全| 亚洲激情不卡| 久久久亚洲成人| 久久国产视频网站| 裸体歌舞表演一区二区| 亚洲制服丝袜在线| 亚洲理论在线| 亚洲高清毛片| 亚洲国产mv| 亚洲高清在线观看| 久久免费视频网站| 亚洲视频自拍偷拍| 欧美一区激情| 日韩午夜精品| 欧美黄色一区| 欧美一区二区三区在线看| 国产精品久久久一本精品| 久久精品国产亚洲一区二区三区| 国产精品日韩在线播放| 亚洲午夜性刺激影院| 激情婷婷久久| 久久综合九色综合久99| 欧美高潮视频| 在线午夜精品自拍| 欧美午夜精品久久久久免费视 | 亚洲伦伦在线| 欧美一区二区大片| 另类av一区二区| 91久久精品国产| 欧美伊人久久久久久久久影院 | 久久久.com| 欧美日韩精品一本二本三本| 一区二区激情| 亚洲日本激情| 欧美性开放视频| 亚洲欧美日韩精品久久| 一区二区三区福利| 国产欧美二区| 在线亚洲电影| 久久露脸国产精品| 日韩一级视频免费观看在线| 国产精品露脸自拍| 老巨人导航500精品| 99精品视频免费全部在线| 久久av一区二区| 亚洲免费激情| 国产综合久久久久久| 欧美精品导航| 亚洲国产经典视频| 国产三级欧美三级日产三级99| 久久久久久国产精品mv| 日韩亚洲一区在线播放| 久久这里有精品视频| 国产在线拍偷自揄拍精品| 欧美精品久久久久久久免费观看 | 国产精品第一页第二页第三页| 亚洲激情偷拍| 99精品热6080yy久久| 国产欧美精品在线播放| 欧美日韩www| 老司机午夜精品视频| 亚洲少妇自拍| 亚洲国产欧美一区二区三区丁香婷| 久久gogo国模啪啪人体图| av成人福利| 欧美视频一区二区三区四区| 久久影视精品| 美女日韩欧美| 久久久久国产精品一区三寸| 99精品福利视频| 亚洲大片在线| 久久综合色播五月| 欧美一区二区精品| 亚洲欧美国产不卡| 国产精品伊人日日| 久久成人免费| 亚洲欧美在线磁力| 亚洲午夜精品| 日韩亚洲国产精品| 亚洲黄色免费电影| 亚洲大胆人体视频| 亚洲精品乱码久久久久久日本蜜臀| 国产一区二区在线免费观看| 久久天堂av综合合色| 欧美在线播放高清精品| 欧美一区二区高清在线观看| 在线一区免费观看| 在线亚洲观看| 亚洲欧美美女| 午夜欧美大片免费观看| 亚洲男同1069视频| 香蕉国产精品偷在线观看不卡 | 久久精品论坛| 久久久久成人精品免费播放动漫| 欧美在线不卡视频| 久久国产一区| 老司机久久99久久精品播放免费| 久久国产精品72免费观看| 久久精品91| 乱人伦精品视频在线观看| 久久精品一区四区| 噜噜噜噜噜久久久久久91| 蜜桃av一区二区| 亚洲在线中文字幕| 亚洲成人在线网| 亚洲三级影片| 亚洲一区三区视频在线观看| 午夜精品视频网站| 久久嫩草精品久久久精品一| 久久综合九色99| 亚洲欧洲日本在线| 亚洲视频久久| 久久久91精品国产一区二区三区| 夜夜嗨av一区二区三区网站四季av| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲国产精品www| 亚洲作爱视频| 久久gogo国模裸体人体| 欧美成人嫩草网站| 一本色道久久综合狠狠躁的推荐| 亚洲一区二区高清| 久久亚洲高清| 欧美日韩亚洲一区二区| 欧美大片一区| 国产精品丝袜久久久久久app| 狠狠色伊人亚洲综合网站色| 一本久久a久久精品亚洲| 久久www成人_看片免费不卡| 欧美激情国产日韩| 亚洲欧美日韩精品| 欧美理论电影网| 国产永久精品大片wwwapp| 在线性视频日韩欧美| 久久这里只有| 亚洲一线二线三线久久久| 欧美ab在线视频| 国产农村妇女精品一区二区| 亚洲精品一二三| 欧美成人国产va精品日本一级| 欧美一级播放| 中文无字幕一区二区三区| 久久婷婷国产综合精品青草| 99精品国产在热久久下载| 久久躁日日躁aaaaxxxx| 国产一区二区成人| 亚洲天堂偷拍| 日韩亚洲欧美一区二区三区| 久久三级视频| 国内视频一区|