| 订阅 | 在线投稿
分享
 
 
当前位置: 王朝网络 >> c/c++ >> shen hua yu miu wu : zheng lun C++ qian ni ying dang zhi dao shen me

shen hua yu miu wu : zheng lun C++ qian ni ying dang zhi dao shen me

2008-06-01 02:10:04 编辑來源:互联网 评论
 
 
 
本文为【神话与谬误:争论C++前你应当知道什么】的拼音翻译版
  zui jin xie le yi pian guan yu C++0x Concepts de wen zhang , yi liao zhi wai di yin qi le yi chang xiao gui mo kou shui zhang 。 hui ge wei tie zi de tong shi , hui xiang zhe xie nian C++ she qun de da xiao zheng lun , jiao de you bi yao ba yi xie chang jiu yi lai zai C++ zheng lun zhong chu xian de wu jie lie ju chu lai 。
  …History became legend, legend became myth …- The Lord of the Rings
  ha lei jiang jun de xiao hua xiang bi da jia dou ting guo 。 yi ju hua jing kou kou xiang chuan , mei ge ren dou gen ju zi ji de zhu guan yi nian jia yi run se , xiu bu , wai qu … dao zui hou jiu mian mu quan fei 。 zhe li zui yao hai de yi huan jiu shi zhu guan yi shi , zai li shi xue li mian you zhe me yi ju hua , da zhi yi si shi li shi qi shi zhi cun zai yu ren de yi nian zhi zhong ; jiu suan wan quan ke guan de shi jian , tong guo bu tong de ren de zui shuo chu lai , zao cheng de xin li xiao ying ye wang wang bu yi yang , mei ge ren dou hui jia shang na me yi liang ge xing rong ci , jia yu yu yan neng li gao de geng shi neng gou she zhan lian hua , er yu yan ben jiu you zi shen de li liang , qi zhong de qian ci zao ju dui du zhe gou cheng de xin li ying xiang li bian ying yun er sheng 。 shen zhi yu tong yi ju hua , yong bu tong de yu qi shuo chu lai , dou hui zao cheng bu tong de xiao guo 。 tong yi ju hua , zhan zai bu tong de li chang shang kan , ye hui gen ben bu shi tong yi ge yi si 。 bi ru “C++ huan suan shi men bu cuo de yu yan ”, zhan zai C++ yong hu zhe de jiao du ting shi zai lian min jia di hui C++, er zhan zai C++ fan dui zhe de jiao du ting que shi tai ju le C++。
  zai yi ge chang qi bei guang fan zheng lun de hua ti zhong , ji hu wu ke bi mian de zong shi cun zai yi xie Fallacies he Myths。 bi ru dong tai & jing tai lei xing xi tong de zheng lun , ju shuo cong tu ling shi dai jiu kai shi le , dao xian zai huan you ge zhong ge yang de wu jie , er qie , ke yi shuo , shi jian yue chang , xi tong nei de Fallacy yue duo 。 jiu lian yi chang (exception) zhe yang bu suan fu duo de yu yan te xing li mian ju ran ye you yi xie chang qi cun zai de wu jie 。
  zhi yu zhe xie Fallacies he Myths chu xian de yuan yin hen duo : you ren yao “ nei han ” hu ren 、 you ren yao wei hu zi ji de xin li you shi 、 you ren yao wei hu zi ji de zheng quan 、 you ren yao wei hu zi ji de li yi 、 you ren yin wei hua cong bie ren na li ting le ban ju zhuan shu gei bie ren ting de shi hou an zhu guan yi nian bu quan ( shui yuan yi shuo “ wo bu zhi dao ” ne ?)、 you ren gan cui jiu shi ren yun yi yun … suo yi , yi ju hua , zai yi ge kao kou tou biao da jiao huan xin xi de she hui zhong ,Fallacies he Myths shi wu chu bu zai de , yin wei cong nei xin zhen shi xiang fa dao wai jie biao xian chu lai de xiang fa zhi jian cun zai zhe “ kou tou biao da ” zhe yi zhong jian ceng , hou zhe you zhu guan yi zhi zhi pei 。 zhe li de zhong jian ceng ke bu bi ruan jian gong cheng li mian de jian jie ceng , zai zhe ge jian jie ceng shang e mo ke yi bian cheng tian shi , tian shi ye ke yi bian cheng e mo ; liu yue fei xue ke yi bian cheng tian jiang xiang rui , piao po da yu ye ke yi bian cheng yan yang gao zhao 。Anyway, zhe zhan kai lai jiu shi yi ge xin li xue de wen ti le , bu duo fei hua le , you ai hao de ke yi qu kan Harry G. Frankfurt xie de 《On Bullshit》 huo zhe Scott Berkun de zhe pian duan wen ——“How to detect bullshit”。 e … wo shuo “ yi ju hua ” le me ?
  C++ - Fallacies and Myths
  C++ zuo wei yi men bei zheng lun bu duan de yu yan , qi zhong Fallacies he Myths zi ran bu hui shao 。 yi ban lai shuo , yi ge wen ti zai bei da zhong zheng lun zhong jiao huan de hua yu shu liang yu qi zhong de Fallacy shu liang cheng zheng bi 。 dan yi ban lai shuo zhu yao de Fallacies jiu na me ji ge :
  Fallacy #1 ——C++ she qun de zhe xue tai xue yuan pai
  rang wo men xian dui “ xue yuan pai ” xia yi ge ding yi hao bu hao ? xian wen ni zi ji yi ge wen ti , ni xin mu zhong dui “ xue yuan pai ” de ding yi shi shen me ? yi xia shi yi xie xuan xiang : 1. qing xiang yu li lun mei 。2. hu shi shi ji bian ma zhong de constraints( ru xiao lv , mo kuai xing 、 ke du xing deng deng )。3. chang dao yu yan lv shi xing wei 。4. zuan xi jie 。5. … wo xiang jia ru wo shuo C++ yu yan she ji qiang tiao li lun mei , suo you xue guo C++ de ren kong pa dou hui xiao le … zheng ru Bjarne zi ji suo shuo de ,C++ she ji chu qi de Rule of Thumb zhi yi bian shi “ bu yao xian ru dao dui wan mei xing de gu zhi zhui qiu zhong ”; bu guo ju you feng ci yi wei de shi , hou mian ni hui kan dao , zheng shi zhe yang de yi zhong zhe xue dai lai le jin tian dui C++ de zhe ge wu jie 。
  wo cai chi zhe yang yi zhong guan dian de ren da duo dui yu xue yuan pai de ding yi dou shi mo hu de , yi ban dou jie yu “ ti chang zuan yu yan xi jie bing li yong yu yan xi jie de zuo fa ”、“ guan zhu yu yan te xing ben shen er hu lue shi ji bian ma xu qiu ”、“ dui yu yan xi jie wu xiu zhi de zheng lun ” deng deng zhi jian 。 suo yi , dang you ren shuo “C++== xue yuan pai ” de shi hou , ta de zhen shi yi si hen ke neng shi :“C++ yu yan de yin an jiao luo tai duo , er qie C++ she qun huan you ti chang dui yu yan jiao luo ba wo de qian zai zhe xue , jiu lian C++0x de jin hua ye si hu geng duo guan zhu yu yan te xing , er na xie yu yan te xing gen ben jiu gen wo men shi ji kai fa zhe tuo jie le …” deng deng 。 shou xian de cheng ren de shi , zai jin yi ge shi nian de shi jian nei ,C++ she qun de que mou zhong cheng du shang jian li qi le yi zhong dui yu yan xi jie guo fen guan zhu de xin tai , zhe zhong xin tai hao wu yi wen shi cuo wu de , dan zhi you zhi dao zhe ge cuo wu shi ru he lai de , cai neng jie kai zhe ge jie 。 er qie , jiu suan yi shi jie bu kai zhe ge jie , zhi dao le yuan yin zhi hou cai neng bao chi li xing de kuan rong tai du , er bu shi luan fa bao yuan 。 yi ge li xing de tai du , geng you zhu yu liang xing fa zhan 。 li ru jia ru C++ she qun dou neng ming bai zhe zhong qian zhe xue cong he er lai , huo xu ye jiu hui jian jian zou xiang geng hao de fa zhan le 。
  wo yong yi ge li zi lai shuo ming zhe yi dian : ni ping shi bian li yi ge shu zu , huo yi ge rong qi de shi hou shi zen me zuo de ?
  for(std::vector::iterator it = v.begin(); it != v.end(); ++it) {…} zhe zhong zuo fa hen yong zhong 。 qi shi ni de luo ji shi “ dui v zhong de mei ge yuan su , zuo … shi qing ”, ni zhi dao da duo shu qi ta liu xing de yu yan zhong dou you nei jian de for_each。 na C++ zhong jiu mei you le ma ? you 。STL de for_each suan fa , yu shi ni xie : strUCt MyOp{void operator()(int& i){…}}; std::for_each(v.begin(), v.end(), MyOp()); zhe ge fang an shi ji hen cha 。 yi shi ni huan shi de xie v.begin()、v.end(), er shi ni de wei ci ding yi yi zheng ge xin lei 。 san shi zhe ge xin lei bing bu zai ni shi yong zhe ge xin lei (for_each bei tiao yong ) de dian shang , yin wei ju bu lei bu neng zuo mo ban shen shu 。 ni yao de shi lambda function: for_each(v.begin(), v.end(), <>(int& i){ …}); ke shi C++98 mei you 。 ni yao de shi nei jian foreach: for(int& i : v) {…} ke shi C++98 mei you 。
  jian yu xun huan jie gou shi bian cheng zhong zui chang chu xian de jie gou zhi yi 。 zhe ge wen ti qi shi huan shi bi jiao nao ren de , jia ru ni jiao de bu nao ren ke neng zhi shi yin wei ni shi ying xing xi guan le , zhe wei bi shi hao shi 。 bi ru mei ci dou yao xie std::vector::iterator jiu hen rang ren nao huo , jia ru wo huan ge rong qi , jiu yao xiu gai yi dui std::vector<…>。 na yong typedef xing bu xing a ? xing 。 ke reng ran huan shi xu yao xie yi ci typedef, wo hen lan , wo shen me duo yu de wu yong dai ma dou bu xiang xie 。 yao zhi dao , mei duo chu yi xing wu yong de ( bing fei yin biao da si xiang suo xu yao cai chu xian ) de dai ma , jiu zeng jia yi dian wei hu fu dan , zhe ye zheng shi wei shen me yu yan de biao da li ru ci chong yao de yuan yin 。
  
  
  na zen me ban ? jia ru wo gao su ni ,C++98 li mian qi shi ni ye ke yi xie : foreach(int& i , v){ …} ni zen me xiang ? fei hua 。 dang ran shi qiu zhi bu de le 。 you zhe me jian jie de biao da fang shi shui huan bu xiang yong a 。 wo xu yao gao su ni de ling yi ge shi shi shi 。 wei le zai C++98 li mian ji jin wan mei di shi xian zhe ge te xing , you ren ba biao zhun de jiao luo wa le ge di chao tian 。 bu , wo bu shi zai wei zuan yu yan xi jie zhao li you , wo zhi shi xiang gao su ni , xu duo ren suo ren wei de zuan yu yan xi jie de zuo fa , qi shi yi kai shi da duo shi you yong hu shi ji xu qiu qu dong de , zhe ge foreach she shi bei C++ cheng xu yuan men shi tu shi xian le N bian N zhong zuo fa , ke jian xu qiu zhi qiang lie 。 ke xi jue da duo shu shi xian dou yuan yuan cheng bu shang hao yong , jiu lian xian zai zhe ge shi xian de zuo zhe ye zao zai 03 nian zai CUJ shang fa le yi ge shi xian , ye cheng bu shang hao yong 。 shi hou lai you qi er bu she cai shi xian le zui zhong zhe ge zhen zheng hao yong de ban ben de 。 wo xiang shuo de shi , shang mian zhe ge mei hao de foreach, dang ran ren ren dou xiang yong 。 dan wen ti shi yao zai C++98 xia shi xian ta zhi neng kao wa biao zhun , zhe shi wei yi de tu jing 。 yao bu ran jiu de deng yu yan jin hua , bing ren shou ruo gan nian , shui yuan yi ? kuang qie zhe ge foreach she shi huan neng zuo zhan wei fu , zai C++09 lai lin zhi qian jing jing ye ye lv xing qi zhi ze ,C++09 jia ru nei jian foreach zhi chi zhi hou zhi xiao yong zheng ze biao da shi sou suo quan ju ti huan , jiu OK le , mei you ren he de sheng ji ma fan 。
  zai ju yi ge jing dian de li zi :STL li mian de traits。 qi shi traits bu ying gai shi traits。traits zui zi ran de shi xian fang shi ying gai shi C++09 de concept。 dan STL xu yao yong dao jing tai dispatch ji shu a , na zen me ban ? yao me yong traits( zeng jia yu yan fu duo xing ), yao me bu yong ( xian ran bu xing )。
  zai ju ge jing dian de li zi : mo ban yuan bian cheng 。 mo ban yuan bian cheng you sha yong ? ri chang kai fa zhe ba bei zi gu ji ye yong bu dao 。 dan zhen de ma ? mei cuo , ri chang kai fa zhe bing bu hui zhi jie yong dao 。 dan shi , you mo ban yuan bian cheng zhi chi de ge ge boost zi ku ne ? bei xuan ru C++0x de TR1 de ge ge zi ku ne ( jian jie yong dao )? na ri chang kai fa zhe yong bu yong xue mo ban yuan bian cheng ne ? bu yong xue , gen ben bu yong xue , zhe me fu duo de ji shu xue shen me ne ? ye jiu shi dian ji qiao shang de dong xi 。 na wei shen me pian you ren xue ne ? dai hui zai shuo 。 huan you da liang de li zi jiu bu yi yi lie le 。 qi shi STL de traits ji shu yi jing neng gou shuo ming wen ti le 。 jia ru ni zai xi kan yi kan , ni hui fa xian , na xie suo wei de li yong C++ hei an jiao luo de ji shu , ji hu wu yi bu shi chu xian zai ku kai fa li mian de , er zhi suo yi chu xian zai ku kai fa li mian , shi yin wei ku kai fa zhong de xu qiu qu dong de —— wei le kai fa chu geng hao de ku 。 nan dao ni bu xiang yong geng hao de ku ? o , shuo dao “ geng hao de ku ”, ken ding hui you tong xue you yi jian le 。
  C++98 dou kuai shi nian le , biao zhun ku huan shi zhi you na yi tao STL。 ku jin zhan huan man , dao xian zai GUI ku ye mei you yi ge biao zhun , dou shi si fen wu lie ge zi wei ying 。 wang luo ku ye shi 、 wen jian xi tong ku ye shi 、 ri zhi ku ye shi … bu guo zhe ge wen ti yi jing shi ling yi ge wen ti le , rong hou zai shuo 。
  wen ti shi ,“ mei you biao zhun de ku ” bing bu yi wei zhe “C++ de ku bu hao ”, hou zhe ye bing bu yi wei zhe “ na xie hui se de ji qiao bing mei you ti sheng ku de zhi liang ”, zhe ge luo ji shang de liang huan dou bu dui 。 shi ji shang , ren men suo wei de “ hui se er fu duo de ji qiao ” qi shi zheng shi wei le ti sheng ku de zhi liang er bei wa jue chu lai de 。traits ji shu ti sheng ku de xiao lv ( jing tai zhuan fa ),type erase ji shu shi de boost::function ke yi jie shou ren he qian ming wei void() de han shu ( ling huo xing ), bao kuo fang han shu , bao kuo boost::bind hou de han shu 。type list ji shu shi de boost::tuple neng gou jie shou ke bian shu mu de mo ban shen shu 。policy-based design shi de ke yi dui yi ge she shi de gong neng jin xing zheng jiao fen jie … jiu suan ba suo you liu xing de C++ tricks dou lie chu lai , ni ye hui fa xian , qi shi ta men ji hu mei yi ge dou dui ying le zhi shao yi ge shi ji ying yong 。 er shi ji ying yong xu qiu na lai de ? ku she ji de xu qiu 。 dan gui gen dao di , shi shi yong ku de ren —— zhong duan cheng xu yuan —— de xu qiu 。( xiao lv 、 ling huo xing 、 chou xiang biao da li , na yi yang bu shi zhong duan cheng xu yuan de shi ji xu qiu ne ?)
  zai ju ge shi li , you tong xue shuo , wo zhi yao xie jian dan de dai ma 。 wen ti shi , jian dan bu yi wei zhe dan chun 。 jian dan yi wei zhe zai geng gao chou xiang ceng ci shang mian bian cheng , hou zhe shi yao kao hao de ku chou xiang cai neng da dao de 。 jie yong 《Extended STL》 li mian de yi ge li zi :
  DIR* dir = opendir(".");
  if(NULL != dir){
  struct dirent* de;
  for(; NULL != (de = readdir(dir)); )
  {
  struct stat st;
  if( 0 == stat(de->d_name, &st) && S_IFREG == (st.st_mode &S_IFMT)) {
  remove(de->d_name);
  }
  }
  closedir(dir);} zhe duan dai ma shan chu dang qian mu lu zhong suo you wen jian 。
  readdir_sequence entries(".", readdir_sequence::files);
  std::for_each(entries.begin(), entries.end(), ::remove); zhe duan dai ma zuo tong yang de shi qing —— na ge geng jian dan ?
  na wen ti shi , wei shen me fa zhan dao hou lai ,“ zuan yu yan xi jie ” cheng le she qun de qian zai zhe xue ne ? zhe qi shi shi yi ge xin li xue shang de wen ti , gen yu yan mei you guan xi , gen C++ de chu zhong geng mei you guan xi 。 cong xin li shang , zai tong yi ge ling yu , jia ru ling yi ge ren bi ni dong de geng duo , ni jiu hui qing xiang yu pei fu ta , zhe shi ling yi ge ren dong de dong xi you duo da de yong chu qi shi bing bu na me chong yao , ren dui zi ji bu dong de dong xi zong shi you yi zhong jing wei gan de 。
  C++ li mian you na me duo de tricks, qi shi ri chang bian cheng zhong yao yong dao de trick shao zhi you shao , ri chang bian cheng jue da duo shu dou yi fu yong ku wei zhu , er na xie tricks jiu yin cang zai ku li mian 。 chu fei ni shi ku de she ji zhe , fou ze hen duo de tricks gen ben jiu wu xu guan zhu 。
  ling yi fang mian , xie zuo C++ shu ji de da duo shu dou shi C++ ku de she ji zhe , zhe jiu gei yu le xu duo C++ shu yi ge you pian jian de shi jiao , da liang ku she ji zhong cai hui yong dao de ji shu bei jie shao chu lai , er she qun dui zhe xie niu ren you dou shi wei ma shou shi zhan de 。( qi shi wo jiao de yi ben Bjarne de 《The C++ Programming Language》 jia shang yi ben Herb&Alexandrescu de 《C++ Coding Standard》 dui yu ri chang cheng xu yuan lai shuo , zhen de zu gou le 。)
  ci wai , ren zong shi hao qi de , zai C++ li mian you na me duo de bei “ fa ming ” de hao wan ji shu , zen me ke neng bu hui you ren qu zhui peng ne 。 ling yi ge dong ji ze shi xue le zhe xie ji shu you li gan jian ying de xuan yao xiao guo , bi ru zai lun tan shang 。 zhe ke bi bian xie ke wei hu dai ma de cai neng qing yi biao xian duo le —— ren zi ran shi geng qing xiang yu qu guan zhu na xie geng qing yi na lai biao xian he xuan yao de dong xi de 。 tui yi bu shuo , jiu dan dan shi “ fa ming ” yi xiang xin de yu yan te xing zu he yun yong ji qiao dou neng dai lai chun cui de cheng jiu gan , yin wei ni you zai xian you yu yan kuang jia xia zuo chu le yi ge chuang ju , ni zuo le bie ren zuo bu dao de 。 er zuo wei xue xi zhe , ni ke neng hui yin wei fa xian yuan lai zi ji li jie de yi kuai tu di shang huan you bu zhi dao de dong xi er gan dao xing fen he xin qi , zhe zhong xing fen he xin qi gan wang wang shi xue xi de zhen zheng yuan dong li 。 zhi shao , dui yu wo lai shuo , dang nian du 《Modern C++ Design》 shi zheng shi zhe yang yi zhong gan jiao , wo xiang you he wo yi yang gan jiao de ren ken ding bu zai shao shu 。
  
  
  zai lai , yi ge shi zai ren qian kan bu jian mo bu zhe de bian ma neng li , ling yi ge shi dui handy de ji qiao de ba wo 。 zuo wei yi ge xue xi zhe , qing xiang yu xue xi hou zhe , yin wei hou zhe xue qi lai geng qing yi , er qie ye wang wang geng you qu 。 xue dao le zhi hou neng gou de dao gen jie jue chong da wen ti tong deng de cheng jiu gan —— kan kan 《Effective C++》 xi lie shou dao de zhui peng jiu zhi dao le 。
  zai lai , dang ni mian lin liang ge wen ti , yi ge shi ru he jian li yi ge gao zhi liang de ku ( da ), yi ge shi ru he xiu zheng ku li mian de xiao bug( ru vector li mian mou ge cheng yuan han shu de yi chang bao zheng wen ti )。 jia ru ni you yi fen shi jian , ni geng qing xiang yu ba ta hua zai shen me di fang ? ren zai xin li shang zong shi qing xiang yu zou “ jie jing ” de , ti xian zai zhe ge wen ti shang mian bian shi geng qing xiang yu dui fu shua dian xiao cong ming jiu jie jue de xiao wen ti , bing huo de shen zhi bing bu ya yu jie jue da wen ti de cheng jiu gan 。 xiao wen ti de ling yi ge xi yin ren de di fang zai yu ta hao shi duan , geng “ chen shou ”, ta bu xu yao ni bi guan ku ku bian ma ji ge yue nong chu yi ge kuang jia lai er qie huan bu yi ding neng cheng 。 suo yi zhe jiu gei ren yi zhong cuo jiao ,C++ she qun zhi zhi dao zheng lun zhi jie wen ti , bu zhi dao shi gan ku 。 o , bu shi cuo jiao , zhe de que shi da bu fen de xian zhuang , dan zhe ge xian xiang qi shi bing bu jin jin zhi yu C++ she qun , zhe shi ren xin li de gong xing zao cheng de , zhe ye jiu shi wei shen me wu lun zai na ge yu yan she qun ni dou hui kan dao zheng lun zui duo de dou shi xie “ xiao wen ti ” de yuan yin 。( dang ran , wu lun zai na ge xue ke , ye huan zong shi you niu ren qu ken nan ken de gu tou de 。 dan zhe bing bu shi guang da min zhong de zhuang kuang 。) yi shang zhong zhong yuan yin gong tong zao jiu le C++ she qun de zhe zhong xin tai 。
  zhe qi shi gen C++ de “ jiao yi ” mei you guan xi 。C++ jia ru you jiao yi de hua ye shi shi yong wei shang 。 zhe zhong xian zhuang shi zi fa chan sheng de , ta de dong li lai yuan yu ren de xin li 。 jia ru Java yu yan you ge zhong ge yang de te xing zu he , qie zhe xie te xing zu he neng gou mou xie shi hou man zu kai fa zhong de shi ji xu qiu de hua , ye shi yi yang hui chu xian zhe yang de qing kuang de ( shi shi shang yi ge xiao xiao de Java Closure jiu yi jing yin qi le da liang kou shui le )。 mou zhong cheng du shang ,LISP li mian yong han shu lai shi xian zi ran shu xi tong , ye shi yi yang de dao li , ni gan shuo , ni di yi ci kan dao ta de shi hou , bu zan tan ? ren zhi chang qing er yi 。 na zhe zhong zhe xue dui bu dui ? fei hua 。 dang ran bu dui 。 bu dan bu dui , er qie you hai 。 hen duo C++ ri chang kai fa zhe zai xue xi ku kai fa ji qiao shang lang fei le hen duo shi jian , ba wo le gen ben yong bu dao de ji shu , er qie zhe xie ji shu , bu ru cheng wei ji qiao , ke neng huan hui sui zhe yu yan jin hua bian de gen ben wu yong wu zhi di 。 huan bu ru hao hao xue xue ru he rang zi ji de dai ma geng KISS ne , ji ben de bian ma zhun ze yao yuan yuan chong yao de duo , zheng ru wo gang cai shuo de , ri chang kai fa , yi ben 《The C++ Programming Languag》 jia yi ben 《C++ Coding Standard》 zu gou le 。
  ling wai , shuo dao yu yan jin hua shun bian shuo yi ju , yu yan jin hua de zhi ze zhi yi bian shi fei chu fan fu de ji qiao , qu dai yi zhi jie biao da si xiang de yu yan te xing 。 er C++0x zhen zheng zai lv xing zhe yi zhi ze 。 zui hou lai shuo yi shuo qian mian liu xia lai de yi ge wen ti : wei shen me C++ she ji de chu zhong ——“ bu yao gu zhi yu wan mei ”—— mou zhong cheng du shang dai lai le zhe ge ju mian ne ?
  yin wei zheng shi yin wei zhe zhong li nian de zhi dao , you bu shao yu yan te xing cong li lun shang dou shi bu wan bei de : bi ru you copy yu yi mei you move yu yi ( you zuo zhi yin yong mei you you zhi yin yong ), yu shi Alexandrescu yong Mojo kuang jia lai jie jue ; bi ru zhi chi ke bian shen shu de han shu tiao yong que bu zhi chi ke bian shen shu de mo ban shen shu lie biao , dao zhi yong yuan bian cheng lai jie jue ; bi ru bu zhi chi gou zao han shu zhuan fa , dao zhi bi xu factor chu yi ge gong gong de initialize han shu lai ; bi ru bu zhi chi qiang lei xing de enum, jie guo yong yi da dui hong jie he lei lai jie jue ; bi ru bu zhi chi initializer list, jie guo yong fu duo de mo ban ji shu lai shi xian mou zhong lei si de chu shi hua fang shi ; bi ru bu zhi chi auto he typeof, jie guo yong geng fu duo N bei de mo ban yuan bian cheng ji shu lai shi xian yi ge mo ni ; bi ru bu zhi chi nei jian de alignment zhi shi , dao zhi Alexandrescu zai shi xian lei xing an quan de union de shi hou yong jin le mo ban yuan bian cheng ji qiao ; bi ru bu zhi chi nei jian de foreach, jie guo jie zhu yu gui yi de yu yan jiao luo shi xian le yi ge ji jin wan mei de mo ni ; bi ru bu zhi chi nei jian de concept, dao zhi shi yong mo ban ji qiao lai shi xian ye suan neng yong de concept jian cha … zhe ge lie biao ke yi yi zai yan chang xia qu ,C++ zhong zhe yang de shi li tai duo le 。C++ de bu wan mei dao zhi le ge zhong ge yang de ji qiao ying yun er sheng , o , bu , ying gai shuo , ying shi ji xu qiu er sheng 。 zhe cong ling yi ge ce mian zheng shuo ming le yi dian —— C++ tai xu yao jin hua le !
  Fallacy #2 ——C++ wei yuan hui guo fen guan zhu yi xie bu qie shi ji de yu yan te xing , er bu guan xin biao zhun ku de kuo chong
  bi qi di yi ge fallacy lai , zhe ge dao qing yi jie shi qing chu le 。 ren jia Bjarne zai wen zhang he fang tan li mian yi zai qiang tiao ,C++ cong lai dou shi ba ku she ji fang zai shou wei de ( zhe ju hua qi shi jiu yi wei zhe , shi ba zui zhong kai fa zhe fang zai shou wei de —— shen me ? ni nan dao bu yong ku ?), dan shi C++ qun ti shi yi ge fen san duo yang de qun ti , er qie mei you da gong si de cai li zhi chi 。 qian zhe yi wei zhe zhong kou nan tiao ( biao zhun hua guo cheng kun nan ), hou zhe yi wei zhe bu neng ji zhong jing ying de ren li (boost ku de kai fa dou shi you da jia ye yu shi jian wan cheng de ) lai gao chu ge bai wan mei yuan de mian fei ku lai 。 ci wai ge ren yong ye yu shi jian lai kai fa ku huan yi wei zhe wang wang mei you zu gou de jing li lai dui ku jin xing jing hua gai shan , dao zhi ku de zhi liang bu jia huo zhe gan cui ting zhi ( zhe yang de C++ ku an li hen duo )。 bi ru ri zhi ku ba , mei you yi da ye you ban da , dan you yu dou shi ge ren ye yu kai fa , suo yi mei you jing li zuo dao jin shan jin mei , wei yi yi ge wang boost ti jiao de shi John Torjo( ye shi ge niu ren ) xie de , bu guo yi nian qian bei reject zhi hou jiu mei le dong jing 。 ni nan dao guai ren jia ? ren jia you bu shi ni gu lai de 。
  dan shuo dao di , huan shi qian de wen ti , zhong kou nan tiao huan shi zhong jiu neng tiao de (boost fa qi de chu zhong bian zai yu ci )。 dan mei you qian , gui cai gen ni tui mo ne 。 bu guo hao xiao xi shi ju shuo boost ming nian neng na dao fund:-) ying gai neng ba boost hen hen boost yi ba 。 zhi yu “C++ wei yuan hui guo fen guan zhu yi xie bu qie shi ji de yu yan te xing ” jiu bu zhi cong he shuo qi le 。 shou xian , qian wen yi jing ming que shuo ming yu yan jin hua de chong yao xing yi ji shi yong xing , zhe shuo ming yu yan jin hua gen ben bu xiang ren men ren wei de na yang “ bu qie shi ji ”, er shi yu shi yong xiu qi xiang guan de 。 qi shi cong gen ben shang , yu yan jin hua jiu shi wei le dai lai geng hao de ku , yi ji geng hao de dai ma ( bao kuo ri chang bian ma ), zhe yi dian gen da huo yin yin qi pan zhe biao zhun ku qi shi bing bu xiang zuo 。 ci wai huan you yi dian jiu shi , tao lun yu yan te xing bi shi ji qu kai fa ku yao hua geng shao de jing li , zhe liang zhe hua de jing li qi shi bu zai yi ge shu liang ji shang , kai fa yi ge ku chu lai yao nan de duo de duo , suo yi jiu zao cheng le yi zhong jia xiang ——“ wei yuan hui de na bang jia huo zhi zhi dao dao teng yu yan ”。 zhe ge lun dian cuo zai le liang ge di fang , yi , dao teng yu yan shi bi yao de 。 er , ta men bing fei zhi zhi dao dao teng yu yan , zhi shi ku de wen ti yao jian nan de duo , mei qian , ren jia nan dao za guo mai tie gei ni kai fa biao zhun ku ma ?
  you tong xue shuo , wo zhi yao yi ge neng yong de ku jiu xing le 。 dan wen ti shi , biao zhun ku neng sui bian ma ? biao zhun ku zhi suo yi bu neng sui bian , shi yin wei xiang zhe yang shou zhong ji qi guang fan de ku ke shi yao fu ze ren de —— jiang hui you bai wan qian wan xing dai ma dou yi kao ta 。 jia ru biao zhun ku li mian you bug, jiang hui chu xian ji bai wan shang qian wan xing workarounds, zhe xie workarounds yi kao yu ku de bug, wei le bao chi xiang hou jian rong xing , biao zhun ku shen zhi dou bu neng xiu zheng zhe xie bug。 jiu lian STL zhe yang piao liang de chou xiang , die dai qi qu jian huan shi chuang le huo 。 ling yi fang mian , jia ru zhi shi xu yao yi ge neng yong de ku ,C++ she qu you da liang “ neng yong ” de ku 。 gu qie bu shuo boost li mian de le 。
  
  
  Fallacy #3 ——C++ de qiang chu zai yu shen me dou neng zuo
  yi ge zui chang jian de lun tiao jiu shi ,java de xu ni ji ye shi C++ zuo de , yu shi de chu jie lun ,java bi C++ ruo ,java mei you C++ hao 。 gu qie bu shuo “ hao ” de ding yi biao zhun shi shen me 。 jiu suan java de xu ni ji zuo de , na C++ de di yi ge bian yi qi huan yao yong C xie ne 。C ku li mian de mou xie cheng fen huan yao yong hui bian xie ne 。 zhe ge lun ju shi zhan bu zhu jiao de 。 qi shi , chi zhe zhong lun dian de ren shi zhan cuo le wei zhi , wen cuo le wen ti 。
  yao hai de wen ti bu shi yi men yu yan neng zuo shen me , yin wei shuo dao neng zuo shen me , hui bian shen me dou neng zuo 。 er shi “ zai mou ge te ding de ling yu , na men yu yan biao xian geng hao ”, ren men de xu qiu ji hu zong shi dui zhe mou ge te ding de ling yu de 。 hou zhe cai shi zhen zheng matter de wen ti 。 cong zhe ge jiao du kan ,C++ de shi chang qi shi zhi zai xiao lv zhe yi kuai 。 you ren ke neng hui shuo , na xiao lv zhe yi kuai you C a 。 wen ti shi ,C de chou xiang ji zhi tai ruo 。 xie jia gou jian dan de ying yong , huo zhe xie yi xie gai xin de ( ru qu dong cheng xu ), mei you mian xiang dui xiang jie gou de cheng xu , qing yi 。 wan quan ke yi yong C。 dan she ji dao da xing xi tong , bi ru .NET ji ceng jia gou , yi xie 3D you xi 。 bi xu yong dao mian xiang dui xiang huo ji yu dui xiang bian cheng de ling yu ,C zai dai ma zu zhi he chou xiang fang mian de ruo dian jiu bao lu chu lai le 。 bi ru yong C he hong lai shi xian suo wei OO, jiu zheng shuo ming le C de chou xiang ji zhi de bo ruo 。
  dan shi ,C++ de ling tu ji ben ye jiu zai zhe xie di fang le 。 jian er yan zhi jiu shi suo you “ xiao lv chong yao , qie tong shi xu yao hao de chou xiang ji zhi de ying yong ling yu ”。 yin wei C++ de you shi jiu shi wu sun xiao lv de shi xian geng hao de chou xiang 。 na C++ ji you xiao lv you you geng hao de chou xiang ji zhi , wei shen me C++ bu neng qu dai java、 bu neng qu dai python, bu neng qu dai ruby? huo zhe zhi shao dang C++ jin hua dao geng hao de jie duan de shi hou , bi ru C++0x jiu shi yi ge da de jin zhan ( zai yu yan fang mian ), wei shen me zuo wei yi men yu yan , bu neng qu dai na xie yan chong “ pian ke ” de yu yan ne ?
  yuan yin you liang fang mian 。 yi fang mian , zheng yin wei “ pian ke ”, suo yi you xie yu yan cai neng zai ta men shan chang de ling yu zuo de geng hao , nai zhi zuo dao zui hao 。“ pian zhi kuang cai neng sheng cun ”。 ren men de xu qiu ji hu zong shi zai te ding ling yu de , ni shuo zhe shi hou ren shi yuan yi xuan yong yi men zhuan men wei zhe ge ling yu er sheng de yu yan (ruby), huan shi yuan yi yong yi men general-purpose de yu yan (C++)? ling yi fang mian , jiu suan C++ zai chou xiang ji zhi shang jin hua dao le fei chang hao , nai zhi yu neng zai mou xie te ding ling yu ye biao xian bu fei de hua , you yu shi chang zao jiu bei bie de yu yan qin zhan , bie de yu yan yi jing you le cheng bai shang qian wan xing de dai ma ji , bie de yu yan de ku yi jing fa zhan dao fei chang feng fu de cheng du , bie de yu yan de xiang guan ren cai jiao yu yi jing yi dai you yi dai , suo yi jie guo huan shi mei de pin 。 qi shi , cong ling yi ge jiao du lai shuo ,C++ he chang bu ye shi yi men pian zhi de yu yan ne ?C++ de pian zhi jiu shi xiao lv ,C de pian zhi ye shi xiao lv , dan C++ ti gong geng hao de chou xiang , yin ci zai zhe yi kuai ( xiao lv + chou xiang ),C++ bi C you you shi 。 C++ de ling tu yi jing zhu cheng , ling yi fang mian ,C++ de ling tu zai ke jian de wei lai ye bu da ke neng suo shui le 。 zhe shi C++ de xian shi , zhe ge xian shi , zhi shao zai Bjarne kan lai , ye mei shen me bu hao , yin wei ta zheng fan yang le C++ dang shi she ji de yi tu —— geng hao de C。 wo men ye bu yong gan ya zi shang jia , fei na C++ he qi ta yu yan bi —— shi yong de chang he ben jiu bu tong , mei de bi 。 Fallacy #4 …
  shi bu guo san , jiu ci da zhu 。 kuang qie , zhe san tiao nan dao huan bu gou ma ? jia ru ni xiang dao huan you shen me fallacy yao bu chong de , qing bu lin hui tie :) wo hui kao lv jia dao wen zhang li mian de :)【原文】【汉音对照
 
 
 
 
 
 
 
 
 
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

如何磨出破洞牛仔裤?牛仔裤怎么剪破洞?

把牛仔裤磨出有线的破洞 1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...

我就是扫描下图得到了敬业福和爱国福

先来看下敬业福和爱国福 今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。 今天该活动正式启动,和去年一样,需要收集“五福”...

冰箱异味产生的原因和臭味去除的方法

有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。 1、很多人有这种习...

 
 
   zui jin xie le yi pian guan yu C++0x Concepts de wen zhang , yi liao zhi wai di yin qi le yi chang xiao gui mo kou shui zhang 。 hui ge wei tie zi de tong shi , hui xiang zhe xie nian C++ she qun de da xiao zheng lun , jiao de you bi yao ba yi xie chang jiu yi lai zai C++ zheng lun zhong chu xian de wu jie lie ju chu lai 。   …History became legend, legend became myth …- The Lord of the Rings    ha lei jiang jun de xiao hua xiang bi da jia dou ting guo 。 yi ju hua jing kou kou xiang chuan , mei ge ren dou gen ju zi ji de zhu guan yi nian jia yi run se , xiu bu , wai qu … dao zui hou jiu mian mu quan fei 。 zhe li zui yao hai de yi huan jiu shi zhu guan yi shi , zai li shi xue li mian you zhe me yi ju hua , da zhi yi si shi li shi qi shi zhi cun zai yu ren de yi nian zhi zhong ; jiu suan wan quan ke guan de shi jian , tong guo bu tong de ren de zui shuo chu lai , zao cheng de xin li xiao ying ye wang wang bu yi yang , mei ge ren dou hui jia shang na me yi liang ge xing rong ci , jia yu yu yan neng li gao de geng shi neng gou she zhan lian hua , er yu yan ben jiu you zi shen de li liang , qi zhong de qian ci zao ju dui du zhe gou cheng de xin li ying xiang li bian ying yun er sheng 。 shen zhi yu tong yi ju hua , yong bu tong de yu qi shuo chu lai , dou hui zao cheng bu tong de xiao guo 。 tong yi ju hua , zhan zai bu tong de li chang shang kan , ye hui gen ben bu shi tong yi ge yi si 。 bi ru “C++ huan suan shi men bu cuo de yu yan ”, zhan zai C++ yong hu zhe de jiao du ting shi zai lian min jia di hui C++, er zhan zai C++ fan dui zhe de jiao du ting que shi tai ju le C++。    zai yi ge chang qi bei guang fan zheng lun de hua ti zhong , ji hu wu ke bi mian de zong shi cun zai yi xie Fallacies he Myths。 bi ru dong tai & jing tai lei xing xi tong de zheng lun , ju shuo cong tu ling shi dai jiu kai shi le , dao xian zai huan you ge zhong ge yang de wu jie , er qie , ke yi shuo , shi jian yue chang , xi tong nei de Fallacy yue duo 。 jiu lian yi chang (exception) zhe yang bu suan fu duo de yu yan te xing li mian ju ran ye you yi xie chang qi cun zai de wu jie 。    zhi yu zhe xie Fallacies he Myths chu xian de yuan yin hen duo : you ren yao “ nei han ” hu ren 、 you ren yao wei hu zi ji de xin li you shi 、 you ren yao wei hu zi ji de zheng quan 、 you ren yao wei hu zi ji de li yi 、 you ren yin wei hua cong bie ren na li ting le ban ju zhuan shu gei bie ren ting de shi hou an zhu guan yi nian bu quan ( shui yuan yi shuo “ wo bu zhi dao ” ne ?)、 you ren gan cui jiu shi ren yun yi yun … suo yi , yi ju hua , zai yi ge kao kou tou biao da jiao huan xin xi de she hui zhong ,Fallacies he Myths shi wu chu bu zai de , yin wei cong nei xin zhen shi xiang fa dao wai jie biao xian chu lai de xiang fa zhi jian cun zai zhe “ kou tou biao da ” zhe yi zhong jian ceng , hou zhe you zhu guan yi zhi zhi pei 。 zhe li de zhong jian ceng ke bu bi ruan jian gong cheng li mian de jian jie ceng , zai zhe ge jian jie ceng shang e mo ke yi bian cheng tian shi , tian shi ye ke yi bian cheng e mo ; liu yue fei xue ke yi bian cheng tian jiang xiang rui , piao po da yu ye ke yi bian cheng yan yang gao zhao 。Anyway, zhe zhan kai lai jiu shi yi ge xin li xue de wen ti le , bu duo fei hua le , you ai hao de ke yi qu kan Harry G. Frankfurt xie de 《On Bullshit》 huo zhe Scott Berkun de zhe pian duan wen ——“How to detect bullshit”。 e … wo shuo “ yi ju hua ” le me ?   C++ - Fallacies and Myths   C++ zuo wei yi men bei zheng lun bu duan de yu yan , qi zhong Fallacies he Myths zi ran bu hui shao 。 yi ban lai shuo , yi ge wen ti zai bei da zhong zheng lun zhong jiao huan de hua yu shu liang yu qi zhong de Fallacy shu liang cheng zheng bi 。 dan yi ban lai shuo zhu yao de Fallacies jiu na me ji ge :   Fallacy #1 ——C++ she qun de zhe xue tai xue yuan pai    rang wo men xian dui “ xue yuan pai ” xia yi ge ding yi hao bu hao ? xian wen ni zi ji yi ge wen ti , ni xin mu zhong dui “ xue yuan pai ” de ding yi shi shen me ? yi xia shi yi xie xuan xiang : 1. qing xiang yu li lun mei 。2. hu shi shi ji bian ma zhong de constraints( ru xiao lv , mo kuai xing 、 ke du xing deng deng )。3. chang dao yu yan lv shi xing wei 。4. zuan xi jie 。5. … wo xiang jia ru wo shuo C++ yu yan she ji qiang tiao li lun mei , suo you xue guo C++ de ren kong pa dou hui xiao le … zheng ru Bjarne zi ji suo shuo de ,C++ she ji chu qi de Rule of Thumb zhi yi bian shi “ bu yao xian ru dao dui wan mei xing de gu zhi zhui qiu zhong ”; bu guo ju you feng ci yi wei de shi , hou mian ni hui kan dao , zheng shi zhe yang de yi zhong zhe xue dai lai le jin tian dui C++ de zhe ge wu jie 。    wo cai chi zhe yang yi zhong guan dian de ren da duo dui yu xue yuan pai de ding yi dou shi mo hu de , yi ban dou jie yu “ ti chang zuan yu yan xi jie bing li yong yu yan xi jie de zuo fa ”、“ guan zhu yu yan te xing ben shen er hu lue shi ji bian ma xu qiu ”、“ dui yu yan xi jie wu xiu zhi de zheng lun ” deng deng zhi jian 。 suo yi , dang you ren shuo “C++== xue yuan pai ” de shi hou , ta de zhen shi yi si hen ke neng shi :“C++ yu yan de yin an jiao luo tai duo , er qie C++ she qun huan you ti chang dui yu yan jiao luo ba wo de qian zai zhe xue , jiu lian C++0x de jin hua ye si hu geng duo guan zhu yu yan te xing , er na xie yu yan te xing gen ben jiu gen wo men shi ji kai fa zhe tuo jie le …” deng deng 。 shou xian de cheng ren de shi , zai jin yi ge shi nian de shi jian nei ,C++ she qun de que mou zhong cheng du shang jian li qi le yi zhong dui yu yan xi jie guo fen guan zhu de xin tai , zhe zhong xin tai hao wu yi wen shi cuo wu de , dan zhi you zhi dao zhe ge cuo wu shi ru he lai de , cai neng jie kai zhe ge jie 。 er qie , jiu suan yi shi jie bu kai zhe ge jie , zhi dao le yuan yin zhi hou cai neng bao chi li xing de kuan rong tai du , er bu shi luan fa bao yuan 。 yi ge li xing de tai du , geng you zhu yu liang xing fa zhan 。 li ru jia ru C++ she qun dou neng ming bai zhe zhong qian zhe xue cong he er lai , huo xu ye jiu hui jian jian zou xiang geng hao de fa zhan le 。    wo yong yi ge li zi lai shuo ming zhe yi dian : ni ping shi bian li yi ge shu zu , huo yi ge rong qi de shi hou shi zen me zuo de ?   for(std::vector::iterator it = v.begin(); it != v.end(); ++it) {…} zhe zhong zuo fa hen yong zhong 。 qi shi ni de luo ji shi “ dui v zhong de mei ge yuan su , zuo … shi qing ”, ni zhi dao da duo shu qi ta liu xing de yu yan zhong dou you nei jian de for_each。 na C++ zhong jiu mei you le ma ? you 。STL de for_each suan fa , yu shi ni xie : strUCt MyOp{void operator()(int& i){…}}; std::for_each(v.begin(), v.end(), MyOp()); zhe ge fang an shi ji hen cha 。 yi shi ni huan shi de xie v.begin()、v.end(), er shi ni de wei ci ding yi yi zheng ge xin lei 。 san shi zhe ge xin lei bing bu zai ni shi yong zhe ge xin lei (for_each bei tiao yong ) de dian shang , yin wei ju bu lei bu neng zuo mo ban shen shu 。 ni yao de shi lambda function: for_each(v.begin(), v.end(), <>(int& i){ …}); ke shi C++98 mei you 。 ni yao de shi nei jian foreach: for(int& i : v) {…} ke shi C++98 mei you 。    jian yu xun huan jie gou shi bian cheng zhong zui chang chu xian de jie gou zhi yi 。 zhe ge wen ti qi shi huan shi bi jiao nao ren de , jia ru ni jiao de bu nao ren ke neng zhi shi yin wei ni shi ying xing xi guan le , zhe wei bi shi hao shi 。 bi ru mei ci dou yao xie std::vector::iterator jiu hen rang ren nao huo , jia ru wo huan ge rong qi , jiu yao xiu gai yi dui std::vector<…>。 na yong typedef xing bu xing a ? xing 。 ke reng ran huan shi xu yao xie yi ci typedef, wo hen lan , wo shen me duo yu de wu yong dai ma dou bu xiang xie 。 yao zhi dao , mei duo chu yi xing wu yong de ( bing fei yin biao da si xiang suo xu yao cai chu xian ) de dai ma , jiu zeng jia yi dian wei hu fu dan , zhe ye zheng shi wei shen me yu yan de biao da li ru ci chong yao de yuan yin 。    na zen me ban ? jia ru wo gao su ni ,C++98 li mian qi shi ni ye ke yi xie : foreach(int& i , v){ …} ni zen me xiang ? fei hua 。 dang ran shi qiu zhi bu de le 。 you zhe me jian jie de biao da fang shi shui huan bu xiang yong a 。 wo xu yao gao su ni de ling yi ge shi shi shi 。 wei le zai C++98 li mian ji jin wan mei di shi xian zhe ge te xing , you ren ba biao zhun de jiao luo wa le ge di chao tian 。 bu , wo bu shi zai wei zuan yu yan xi jie zhao li you , wo zhi shi xiang gao su ni , xu duo ren suo ren wei de zuan yu yan xi jie de zuo fa , qi shi yi kai shi da duo shi you yong hu shi ji xu qiu qu dong de , zhe ge foreach she shi bei C++ cheng xu yuan men shi tu shi xian le N bian N zhong zuo fa , ke jian xu qiu zhi qiang lie 。 ke xi jue da duo shu shi xian dou yuan yuan cheng bu shang hao yong , jiu lian xian zai zhe ge shi xian de zuo zhe ye zao zai 03 nian zai CUJ shang fa le yi ge shi xian , ye cheng bu shang hao yong 。 shi hou lai you qi er bu she cai shi xian le zui zhong zhe ge zhen zheng hao yong de ban ben de 。 wo xiang shuo de shi , shang mian zhe ge mei hao de foreach, dang ran ren ren dou xiang yong 。 dan wen ti shi yao zai C++98 xia shi xian ta zhi neng kao wa biao zhun , zhe shi wei yi de tu jing 。 yao bu ran jiu de deng yu yan jin hua , bing ren shou ruo gan nian , shui yuan yi ? kuang qie zhe ge foreach she shi huan neng zuo zhan wei fu , zai C++09 lai lin zhi qian jing jing ye ye lv xing qi zhi ze ,C++09 jia ru nei jian foreach zhi chi zhi hou zhi xiao yong zheng ze biao da shi sou suo quan ju ti huan , jiu OK le , mei you ren he de sheng ji ma fan 。    zai ju yi ge jing dian de li zi :STL li mian de traits。 qi shi traits bu ying gai shi traits。traits zui zi ran de shi xian fang shi ying gai shi C++09 de concept。 dan STL xu yao yong dao jing tai dispatch ji shu a , na zen me ban ? yao me yong traits( zeng jia yu yan fu duo xing ), yao me bu yong ( xian ran bu xing )。    zai ju ge jing dian de li zi : mo ban yuan bian cheng 。 mo ban yuan bian cheng you sha yong ? ri chang kai fa zhe ba bei zi gu ji ye yong bu dao 。 dan zhen de ma ? mei cuo , ri chang kai fa zhe bing bu hui zhi jie yong dao 。 dan shi , you mo ban yuan bian cheng zhi chi de ge ge boost zi ku ne ? bei xuan ru C++0x de TR1 de ge ge zi ku ne ( jian jie yong dao )? na ri chang kai fa zhe yong bu yong xue mo ban yuan bian cheng ne ? bu yong xue , gen ben bu yong xue , zhe me fu duo de ji shu xue shen me ne ? ye jiu shi dian ji qiao shang de dong xi 。 na wei shen me pian you ren xue ne ? dai hui zai shuo 。 huan you da liang de li zi jiu bu yi yi lie le 。 qi shi STL de traits ji shu yi jing neng gou shuo ming wen ti le 。 jia ru ni zai xi kan yi kan , ni hui fa xian , na xie suo wei de li yong C++ hei an jiao luo de ji shu , ji hu wu yi bu shi chu xian zai ku kai fa li mian de , er zhi suo yi chu xian zai ku kai fa li mian , shi yin wei ku kai fa zhong de xu qiu qu dong de —— wei le kai fa chu geng hao de ku 。 nan dao ni bu xiang yong geng hao de ku ? o , shuo dao “ geng hao de ku ”, ken ding hui you tong xue you yi jian le 。   C++98 dou kuai shi nian le , biao zhun ku huan shi zhi you na yi tao STL。 ku jin zhan huan man , dao xian zai GUI ku ye mei you yi ge biao zhun , dou shi si fen wu lie ge zi wei ying 。 wang luo ku ye shi 、 wen jian xi tong ku ye shi 、 ri zhi ku ye shi … bu guo zhe ge wen ti yi jing shi ling yi ge wen ti le , rong hou zai shuo 。    wen ti shi ,“ mei you biao zhun de ku ” bing bu yi wei zhe “C++ de ku bu hao ”, hou zhe ye bing bu yi wei zhe “ na xie hui se de ji qiao bing mei you ti sheng ku de zhi liang ”, zhe ge luo ji shang de liang huan dou bu dui 。 shi ji shang , ren men suo wei de “ hui se er fu duo de ji qiao ” qi shi zheng shi wei le ti sheng ku de zhi liang er bei wa jue chu lai de 。traits ji shu ti sheng ku de xiao lv ( jing tai zhuan fa ),type erase ji shu shi de boost::function ke yi jie shou ren he qian ming wei void() de han shu ( ling huo xing ), bao kuo fang han shu , bao kuo boost::bind hou de han shu 。type list ji shu shi de boost::tuple neng gou jie shou ke bian shu mu de mo ban shen shu 。policy-based design shi de ke yi dui yi ge she shi de gong neng jin xing zheng jiao fen jie … jiu suan ba suo you liu xing de C++ tricks dou lie chu lai , ni ye hui fa xian , qi shi ta men ji hu mei yi ge dou dui ying le zhi shao yi ge shi ji ying yong 。 er shi ji ying yong xu qiu na lai de ? ku she ji de xu qiu 。 dan gui gen dao di , shi shi yong ku de ren —— zhong duan cheng xu yuan —— de xu qiu 。( xiao lv 、 ling huo xing 、 chou xiang biao da li , na yi yang bu shi zhong duan cheng xu yuan de shi ji xu qiu ne ?)    zai ju ge shi li , you tong xue shuo , wo zhi yao xie jian dan de dai ma 。 wen ti shi , jian dan bu yi wei zhe dan chun 。 jian dan yi wei zhe zai geng gao chou xiang ceng ci shang mian bian cheng , hou zhe shi yao kao hao de ku chou xiang cai neng da dao de 。 jie yong 《Extended STL》 li mian de yi ge li zi : DIR* dir = opendir("."); if(NULL != dir){  struct dirent* de;  for(; NULL != (de = readdir(dir)); )  {   struct stat st;   if( 0 == stat(de->d_name, &st) && S_IFREG == (st.st_mode &S_IFMT)) {    remove(de->d_name);   }  }  closedir(dir);} zhe duan dai ma shan chu dang qian mu lu zhong suo you wen jian 。  readdir_sequence entries(".", readdir_sequence::files);  std::for_each(entries.begin(), entries.end(), ::remove); zhe duan dai ma zuo tong yang de shi qing —— na ge geng jian dan ?    na wen ti shi , wei shen me fa zhan dao hou lai ,“ zuan yu yan xi jie ” cheng le she qun de qian zai zhe xue ne ? zhe qi shi shi yi ge xin li xue shang de wen ti , gen yu yan mei you guan xi , gen C++ de chu zhong geng mei you guan xi 。 cong xin li shang , zai tong yi ge ling yu , jia ru ling yi ge ren bi ni dong de geng duo , ni jiu hui qing xiang yu pei fu ta , zhe shi ling yi ge ren dong de dong xi you duo da de yong chu qi shi bing bu na me chong yao , ren dui zi ji bu dong de dong xi zong shi you yi zhong jing wei gan de 。   C++ li mian you na me duo de tricks, qi shi ri chang bian cheng zhong yao yong dao de trick shao zhi you shao , ri chang bian cheng jue da duo shu dou yi fu yong ku wei zhu , er na xie tricks jiu yin cang zai ku li mian 。 chu fei ni shi ku de she ji zhe , fou ze hen duo de tricks gen ben jiu wu xu guan zhu 。    ling yi fang mian , xie zuo C++ shu ji de da duo shu dou shi C++ ku de she ji zhe , zhe jiu gei yu le xu duo C++ shu yi ge you pian jian de shi jiao , da liang ku she ji zhong cai hui yong dao de ji shu bei jie shao chu lai , er she qun dui zhe xie niu ren you dou shi wei ma shou shi zhan de 。( qi shi wo jiao de yi ben Bjarne de 《The C++ Programming Language》 jia shang yi ben Herb&Alexandrescu de 《C++ Coding Standard》 dui yu ri chang cheng xu yuan lai shuo , zhen de zu gou le 。)    ci wai , ren zong shi hao qi de , zai C++ li mian you na me duo de bei “ fa ming ” de hao wan ji shu , zen me ke neng bu hui you ren qu zhui peng ne 。 ling yi ge dong ji ze shi xue le zhe xie ji shu you li gan jian ying de xuan yao xiao guo , bi ru zai lun tan shang 。 zhe ke bi bian xie ke wei hu dai ma de cai neng qing yi biao xian duo le —— ren zi ran shi geng qing xiang yu qu guan zhu na xie geng qing yi na lai biao xian he xuan yao de dong xi de 。 tui yi bu shuo , jiu dan dan shi “ fa ming ” yi xiang xin de yu yan te xing zu he yun yong ji qiao dou neng dai lai chun cui de cheng jiu gan , yin wei ni you zai xian you yu yan kuang jia xia zuo chu le yi ge chuang ju , ni zuo le bie ren zuo bu dao de 。 er zuo wei xue xi zhe , ni ke neng hui yin wei fa xian yuan lai zi ji li jie de yi kuai tu di shang huan you bu zhi dao de dong xi er gan dao xing fen he xin qi , zhe zhong xing fen he xin qi gan wang wang shi xue xi de zhen zheng yuan dong li 。 zhi shao , dui yu wo lai shuo , dang nian du 《Modern C++ Design》 shi zheng shi zhe yang yi zhong gan jiao , wo xiang you he wo yi yang gan jiao de ren ken ding bu zai shao shu 。    zai lai , yi ge shi zai ren qian kan bu jian mo bu zhe de bian ma neng li , ling yi ge shi dui handy de ji qiao de ba wo 。 zuo wei yi ge xue xi zhe , qing xiang yu xue xi hou zhe , yin wei hou zhe xue qi lai geng qing yi , er qie ye wang wang geng you qu 。 xue dao le zhi hou neng gou de dao gen jie jue chong da wen ti tong deng de cheng jiu gan —— kan kan 《Effective C++》 xi lie shou dao de zhui peng jiu zhi dao le 。    zai lai , dang ni mian lin liang ge wen ti , yi ge shi ru he jian li yi ge gao zhi liang de ku ( da ), yi ge shi ru he xiu zheng ku li mian de xiao bug( ru vector li mian mou ge cheng yuan han shu de yi chang bao zheng wen ti )。 jia ru ni you yi fen shi jian , ni geng qing xiang yu ba ta hua zai shen me di fang ? ren zai xin li shang zong shi qing xiang yu zou “ jie jing ” de , ti xian zai zhe ge wen ti shang mian bian shi geng qing xiang yu dui fu shua dian xiao cong ming jiu jie jue de xiao wen ti , bing huo de shen zhi bing bu ya yu jie jue da wen ti de cheng jiu gan 。 xiao wen ti de ling yi ge xi yin ren de di fang zai yu ta hao shi duan , geng “ chen shou ”, ta bu xu yao ni bi guan ku ku bian ma ji ge yue nong chu yi ge kuang jia lai er qie huan bu yi ding neng cheng 。 suo yi zhe jiu gei ren yi zhong cuo jiao ,C++ she qun zhi zhi dao zheng lun zhi jie wen ti , bu zhi dao shi gan ku 。 o , bu shi cuo jiao , zhe de que shi da bu fen de xian zhuang , dan zhe ge xian xiang qi shi bing bu jin jin zhi yu C++ she qun , zhe shi ren xin li de gong xing zao cheng de , zhe ye jiu shi wei shen me wu lun zai na ge yu yan she qun ni dou hui kan dao zheng lun zui duo de dou shi xie “ xiao wen ti ” de yuan yin 。( dang ran , wu lun zai na ge xue ke , ye huan zong shi you niu ren qu ken nan ken de gu tou de 。 dan zhe bing bu shi guang da min zhong de zhuang kuang 。) yi shang zhong zhong yuan yin gong tong zao jiu le C++ she qun de zhe zhong xin tai 。    zhe qi shi gen C++ de “ jiao yi ” mei you guan xi 。C++ jia ru you jiao yi de hua ye shi shi yong wei shang 。 zhe zhong xian zhuang shi zi fa chan sheng de , ta de dong li lai yuan yu ren de xin li 。 jia ru Java yu yan you ge zhong ge yang de te xing zu he , qie zhe xie te xing zu he neng gou mou xie shi hou man zu kai fa zhong de shi ji xu qiu de hua , ye shi yi yang hui chu xian zhe yang de qing kuang de ( shi shi shang yi ge xiao xiao de Java Closure jiu yi jing yin qi le da liang kou shui le )。 mou zhong cheng du shang ,LISP li mian yong han shu lai shi xian zi ran shu xi tong , ye shi yi yang de dao li , ni gan shuo , ni di yi ci kan dao ta de shi hou , bu zan tan ? ren zhi chang qing er yi 。 na zhe zhong zhe xue dui bu dui ? fei hua 。 dang ran bu dui 。 bu dan bu dui , er qie you hai 。 hen duo C++ ri chang kai fa zhe zai xue xi ku kai fa ji qiao shang lang fei le hen duo shi jian , ba wo le gen ben yong bu dao de ji shu , er qie zhe xie ji shu , bu ru cheng wei ji qiao , ke neng huan hui sui zhe yu yan jin hua bian de gen ben wu yong wu zhi di 。 huan bu ru hao hao xue xue ru he rang zi ji de dai ma geng KISS ne , ji ben de bian ma zhun ze yao yuan yuan chong yao de duo , zheng ru wo gang cai shuo de , ri chang kai fa , yi ben 《The C++ Programming Languag》 jia yi ben 《C++ Coding Standard》 zu gou le 。    ling wai , shuo dao yu yan jin hua shun bian shuo yi ju , yu yan jin hua de zhi ze zhi yi bian shi fei chu fan fu de ji qiao , qu dai yi zhi jie biao da si xiang de yu yan te xing 。 er C++0x zhen zheng zai lv xing zhe yi zhi ze 。 zui hou lai shuo yi shuo qian mian liu xia lai de yi ge wen ti : wei shen me C++ she ji de chu zhong ——“ bu yao gu zhi yu wan mei ”—— mou zhong cheng du shang dai lai le zhe ge ju mian ne ?    yin wei zheng shi yin wei zhe zhong li nian de zhi dao , you bu shao yu yan te xing cong li lun shang dou shi bu wan bei de : bi ru you copy yu yi mei you move yu yi ( you zuo zhi yin yong mei you you zhi yin yong ), yu shi Alexandrescu yong Mojo kuang jia lai jie jue ; bi ru zhi chi ke bian shen shu de han shu tiao yong que bu zhi chi ke bian shen shu de mo ban shen shu lie biao , dao zhi yong yuan bian cheng lai jie jue ; bi ru bu zhi chi gou zao han shu zhuan fa , dao zhi bi xu factor chu yi ge gong gong de initialize han shu lai ; bi ru bu zhi chi qiang lei xing de enum, jie guo yong yi da dui hong jie he lei lai jie jue ; bi ru bu zhi chi initializer list, jie guo yong fu duo de mo ban ji shu lai shi xian mou zhong lei si de chu shi hua fang shi ; bi ru bu zhi chi auto he typeof, jie guo yong geng fu duo N bei de mo ban yuan bian cheng ji shu lai shi xian yi ge mo ni ; bi ru bu zhi chi nei jian de alignment zhi shi , dao zhi Alexandrescu zai shi xian lei xing an quan de union de shi hou yong jin le mo ban yuan bian cheng ji qiao ; bi ru bu zhi chi nei jian de foreach, jie guo jie zhu yu gui yi de yu yan jiao luo shi xian le yi ge ji jin wan mei de mo ni ; bi ru bu zhi chi nei jian de concept, dao zhi shi yong mo ban ji qiao lai shi xian ye suan neng yong de concept jian cha … zhe ge lie biao ke yi yi zai yan chang xia qu ,C++ zhong zhe yang de shi li tai duo le 。C++ de bu wan mei dao zhi le ge zhong ge yang de ji qiao ying yun er sheng , o , bu , ying gai shuo , ying shi ji xu qiu er sheng 。 zhe cong ling yi ge ce mian zheng shuo ming le yi dian —— C++ tai xu yao jin hua le !   Fallacy #2 ——C++ wei yuan hui guo fen guan zhu yi xie bu qie shi ji de yu yan te xing , er bu guan xin biao zhun ku de kuo chong    bi qi di yi ge fallacy lai , zhe ge dao qing yi jie shi qing chu le 。 ren jia Bjarne zai wen zhang he fang tan li mian yi zai qiang tiao ,C++ cong lai dou shi ba ku she ji fang zai shou wei de ( zhe ju hua qi shi jiu yi wei zhe , shi ba zui zhong kai fa zhe fang zai shou wei de —— shen me ? ni nan dao bu yong ku ?), dan shi C++ qun ti shi yi ge fen san duo yang de qun ti , er qie mei you da gong si de cai li zhi chi 。 qian zhe yi wei zhe zhong kou nan tiao ( biao zhun hua guo cheng kun nan ), hou zhe yi wei zhe bu neng ji zhong jing ying de ren li (boost ku de kai fa dou shi you da jia ye yu shi jian wan cheng de ) lai gao chu ge bai wan mei yuan de mian fei ku lai 。 ci wai ge ren yong ye yu shi jian lai kai fa ku huan yi wei zhe wang wang mei you zu gou de jing li lai dui ku jin xing jing hua gai shan , dao zhi ku de zhi liang bu jia huo zhe gan cui ting zhi ( zhe yang de C++ ku an li hen duo )。 bi ru ri zhi ku ba , mei you yi da ye you ban da , dan you yu dou shi ge ren ye yu kai fa , suo yi mei you jing li zuo dao jin shan jin mei , wei yi yi ge wang boost ti jiao de shi John Torjo( ye shi ge niu ren ) xie de , bu guo yi nian qian bei reject zhi hou jiu mei le dong jing 。 ni nan dao guai ren jia ? ren jia you bu shi ni gu lai de 。    dan shuo dao di , huan shi qian de wen ti , zhong kou nan tiao huan shi zhong jiu neng tiao de (boost fa qi de chu zhong bian zai yu ci )。 dan mei you qian , gui cai gen ni tui mo ne 。 bu guo hao xiao xi shi ju shuo boost ming nian neng na dao fund:-) ying gai neng ba boost hen hen boost yi ba 。 zhi yu “C++ wei yuan hui guo fen guan zhu yi xie bu qie shi ji de yu yan te xing ” jiu bu zhi cong he shuo qi le 。 shou xian , qian wen yi jing ming que shuo ming yu yan jin hua de chong yao xing yi ji shi yong xing , zhe shuo ming yu yan jin hua gen ben bu xiang ren men ren wei de na yang “ bu qie shi ji ”, er shi yu shi yong xiu qi xiang guan de 。 qi shi cong gen ben shang , yu yan jin hua jiu shi wei le dai lai geng hao de ku , yi ji geng hao de dai ma ( bao kuo ri chang bian ma ), zhe yi dian gen da huo yin yin qi pan zhe biao zhun ku qi shi bing bu xiang zuo 。 ci wai huan you yi dian jiu shi , tao lun yu yan te xing bi shi ji qu kai fa ku yao hua geng shao de jing li , zhe liang zhe hua de jing li qi shi bu zai yi ge shu liang ji shang , kai fa yi ge ku chu lai yao nan de duo de duo , suo yi jiu zao cheng le yi zhong jia xiang ——“ wei yuan hui de na bang jia huo zhi zhi dao dao teng yu yan ”。 zhe ge lun dian cuo zai le liang ge di fang , yi , dao teng yu yan shi bi yao de 。 er , ta men bing fei zhi zhi dao dao teng yu yan , zhi shi ku de wen ti yao jian nan de duo , mei qian , ren jia nan dao za guo mai tie gei ni kai fa biao zhun ku ma ?    you tong xue shuo , wo zhi yao yi ge neng yong de ku jiu xing le 。 dan wen ti shi , biao zhun ku neng sui bian ma ? biao zhun ku zhi suo yi bu neng sui bian , shi yin wei xiang zhe yang shou zhong ji qi guang fan de ku ke shi yao fu ze ren de —— jiang hui you bai wan qian wan xing dai ma dou yi kao ta 。 jia ru biao zhun ku li mian you bug, jiang hui chu xian ji bai wan shang qian wan xing workarounds, zhe xie workarounds yi kao yu ku de bug, wei le bao chi xiang hou jian rong xing , biao zhun ku shen zhi dou bu neng xiu zheng zhe xie bug。 jiu lian STL zhe yang piao liang de chou xiang , die dai qi qu jian huan shi chuang le huo 。 ling yi fang mian , jia ru zhi shi xu yao yi ge neng yong de ku ,C++ she qu you da liang “ neng yong ” de ku 。 gu qie bu shuo boost li mian de le 。   Fallacy #3 ——C++ de qiang chu zai yu shen me dou neng zuo    yi ge zui chang jian de lun tiao jiu shi ,java de xu ni ji ye shi C++ zuo de , yu shi de chu jie lun ,java bi C++ ruo ,java mei you C++ hao 。 gu qie bu shuo “ hao ” de ding yi biao zhun shi shen me 。 jiu suan java de xu ni ji zuo de , na C++ de di yi ge bian yi qi huan yao yong C xie ne 。C ku li mian de mou xie cheng fen huan yao yong hui bian xie ne 。 zhe ge lun ju shi zhan bu zhu jiao de 。 qi shi , chi zhe zhong lun dian de ren shi zhan cuo le wei zhi , wen cuo le wen ti 。    yao hai de wen ti bu shi yi men yu yan neng zuo shen me , yin wei shuo dao neng zuo shen me , hui bian shen me dou neng zuo 。 er shi “ zai mou ge te ding de ling yu , na men yu yan biao xian geng hao ”, ren men de xu qiu ji hu zong shi dui zhe mou ge te ding de ling yu de 。 hou zhe cai shi zhen zheng matter de wen ti 。 cong zhe ge jiao du kan ,C++ de shi chang qi shi zhi zai xiao lv zhe yi kuai 。 you ren ke neng hui shuo , na xiao lv zhe yi kuai you C a 。 wen ti shi ,C de chou xiang ji zhi tai ruo 。 xie jia gou jian dan de ying yong , huo zhe xie yi xie gai xin de ( ru qu dong cheng xu ), mei you mian xiang dui xiang jie gou de cheng xu , qing yi 。 wan quan ke yi yong C。 dan she ji dao da xing xi tong , bi ru .NET ji ceng jia gou , yi xie 3D you xi 。 bi xu yong dao mian xiang dui xiang huo ji yu dui xiang bian cheng de ling yu ,C zai dai ma zu zhi he chou xiang fang mian de ruo dian jiu bao lu chu lai le 。 bi ru yong C he hong lai shi xian suo wei OO, jiu zheng shuo ming le C de chou xiang ji zhi de bo ruo 。    dan shi ,C++ de ling tu ji ben ye jiu zai zhe xie di fang le 。 jian er yan zhi jiu shi suo you “ xiao lv chong yao , qie tong shi xu yao hao de chou xiang ji zhi de ying yong ling yu ”。 yin wei C++ de you shi jiu shi wu sun xiao lv de shi xian geng hao de chou xiang 。 na C++ ji you xiao lv you you geng hao de chou xiang ji zhi , wei shen me C++ bu neng qu dai java、 bu neng qu dai python, bu neng qu dai ruby? huo zhe zhi shao dang C++ jin hua dao geng hao de jie duan de shi hou , bi ru C++0x jiu shi yi ge da de jin zhan ( zai yu yan fang mian ), wei shen me zuo wei yi men yu yan , bu neng qu dai na xie yan chong “ pian ke ” de yu yan ne ?    yuan yin you liang fang mian 。 yi fang mian , zheng yin wei “ pian ke ”, suo yi you xie yu yan cai neng zai ta men shan chang de ling yu zuo de geng hao , nai zhi zuo dao zui hao 。“ pian zhi kuang cai neng sheng cun ”。 ren men de xu qiu ji hu zong shi zai te ding ling yu de , ni shuo zhe shi hou ren shi yuan yi xuan yong yi men zhuan men wei zhe ge ling yu er sheng de yu yan (ruby), huan shi yuan yi yong yi men general-purpose de yu yan (C++)? ling yi fang mian , jiu suan C++ zai chou xiang ji zhi shang jin hua dao le fei chang hao , nai zhi yu neng zai mou xie te ding ling yu ye biao xian bu fei de hua , you yu shi chang zao jiu bei bie de yu yan qin zhan , bie de yu yan yi jing you le cheng bai shang qian wan xing de dai ma ji , bie de yu yan de ku yi jing fa zhan dao fei chang feng fu de cheng du , bie de yu yan de xiang guan ren cai jiao yu yi jing yi dai you yi dai , suo yi jie guo huan shi mei de pin 。 qi shi , cong ling yi ge jiao du lai shuo ,C++ he chang bu ye shi yi men pian zhi de yu yan ne ?C++ de pian zhi jiu shi xiao lv ,C de pian zhi ye shi xiao lv , dan C++ ti gong geng hao de chou xiang , yin ci zai zhe yi kuai ( xiao lv + chou xiang ),C++ bi C you you shi 。 C++ de ling tu yi jing zhu cheng , ling yi fang mian ,C++ de ling tu zai ke jian de wei lai ye bu da ke neng suo shui le 。 zhe shi C++ de xian shi , zhe ge xian shi , zhi shao zai Bjarne kan lai , ye mei shen me bu hao , yin wei ta zheng fan yang le C++ dang shi she ji de yi tu —— geng hao de C。 wo men ye bu yong gan ya zi shang jia , fei na C++ he qi ta yu yan bi —— shi yong de chang he ben jiu bu tong , mei de bi 。 Fallacy #4 …    shi bu guo san , jiu ci da zhu 。 kuang qie , zhe san tiao nan dao huan bu gou ma ? jia ru ni xiang dao huan you shen me fallacy yao bu chong de , qing bu lin hui tie :) wo hui kao lv jia dao wen zhang li mian de :)
󰈣󰈤
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
赏心悦目的模特儿(9)
赏心悦目的模特儿(8)
赏心悦目的模特儿(7)
赏心悦目的模特儿(6)
周六一日游--绿野翠蜂场(一)
骆驼峰
下一站上环
杂乱的几张Danang
 
>>返回首页<<
 
 
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 热帖排行
 
 
 
 
 
©2005- 王朝网络 版权所有