锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久裸体艺术,在线观看日韩av,欧美寡妇偷汉性猛交http://www.shnenglu.com/qjbest/category/1038.htmlMAX MAGICzh-cnMon, 19 May 2008 17:13:48 GMTMon, 19 May 2008 17:13:48 GMT60杞澆錛欳++涓殑綰櫄鍑芥暟http://www.shnenglu.com/qjbest/archive/2006/09/06/12092.htmlQQWed, 06 Sep 2006 07:40:00 GMThttp://www.shnenglu.com/qjbest/archive/2006/09/06/12092.htmlhttp://www.shnenglu.com/qjbest/comments/12092.htmlhttp://www.shnenglu.com/qjbest/archive/2006/09/06/12092.html#Feedback0http://www.shnenglu.com/qjbest/comments/commentRss/12092.htmlhttp://www.shnenglu.com/qjbest/services/trackbacks/12092.html浣滆咃細椋庣敓姘磋搗聽聽聽聽聽鏂囩珷鏉ユ簮錛氶鐢熸按璧仿?鏉ユ簮錛?a >http://www.sf.org.cn/Article/base/200608/18991.html


涓銆佸畾涔?

綰櫄鍑芥暟鏄湪鍩虹被涓0鏄庣殑铏氬嚱鏁幫紝瀹?font color="#ff0000">鍦ㄥ熀綾諱腑娌℃湁瀹氫箟錛屼絾瑕佹眰浠諱綍媧劇敓綾婚兘瑕佸畾涔夎嚜宸辯殑瀹炵幇鏂規硶銆傚湪鍩虹被涓疄鐜扮函铏氬嚱鏁扮殑鏂規硶鏄湪鍑芥暟鍘熷瀷鍚庡姞鈥?0鈥?/p>

virtual void funtion1()=0

浜屻佸紩鍏ュ師鍥狅細

1銆佷負浜嗘柟渚夸嬌鐢ㄥ鎬佺壒鎬э紝鎴戜滑甯稿父闇瑕佸湪鍩虹被涓畾涔夎櫄鎷熷嚱鏁般?br />2銆佸湪寰堝鎯呭喌涓嬶紝鍩虹被鏈韓鐢熸垚瀵硅薄鏄笉鍚堟儏鐞嗙殑銆備緥濡傦紝鍔ㄧ墿浣滀負涓涓熀綾誨彲浠ユ淳鐢熷嚭鑰佽檸銆佸瓟闆絳夊瓙綾伙紝浣嗗姩鐗╂湰韜敓鎴愬璞℃槑鏄句笉鍚堝父鐞嗐?/p>

涓轟簡瑙e喅涓婅堪闂錛屽紩鍏ヤ簡綰櫄鍑芥暟鐨勬蹇碉紝灝嗗嚱鏁板畾涔変負綰櫄鍑芥暟錛堟柟娉曪細virtual ReturnType Function()= 0;錛夛紝鍒欑紪璇戝櫒瑕佹眰鍦ㄦ淳鐢熺被涓繀欏諱簣浠ラ噸杞戒互瀹炵幇澶氭佹?/font>銆傚悓鏃跺惈鏈夌函铏氭嫙鍑芥暟鐨勭被縐頒負鎶借薄綾伙紝瀹冧笉鑳界敓鎴愬璞°傝繖鏍峰氨寰堝ソ鍦拌В鍐充簡涓婅堪涓や釜闂銆?/p>

涓夈佺浉浼兼蹇碉細

1銆佸鎬佹?/p>

鎸囩浉鍚屽璞℃敹鍒頒笉鍚屾秷鎭垨涓嶅悓瀵硅薄鏀跺埌鐩稿悓娑堟伅鏃朵駭鐢熶笉鍚岀殑瀹炵幇鍔ㄤ綔銆侰++鏀寔涓ょ澶氭佹э細緙栬瘧鏃跺鎬佹э紝榪愯鏃跺鎬佹с?/p>

a.緙栬瘧鏃跺鎬佹э細閫氳繃閲嶈澆鍑芥暟瀹炵幇

b 榪愯鏃跺鎬佹э細閫氳繃铏氬嚱鏁?/font>瀹炵幇銆?/font>

2銆佽櫄鍑芥暟

铏氬嚱鏁版槸鍦ㄥ熀綾諱腑琚0鏄庝負virtual錛屽茍鍦ㄦ淳鐢熺被涓噸鏂板畾涔夌殑鎴愬憳鍑芥暟錛屽彲瀹炵幇鎴愬憳鍑芥暟鐨勫姩鎬侀噸杞?/p>

3銆佹娊璞$被

鍖呭惈綰?/font>铏氬嚱鏁扮殑綾葷О涓烘娊璞$被銆傜敱浜庢娊璞$被鍖呭惈浜嗘病鏈夊畾涔夌殑綰櫄鍑芥暟錛屾墍浠ヤ笉鑳藉畾涔夋娊璞$被鐨勫璞°?/p>

紼嬪簭涓句緥錛?/p>

鍩虹被:
class A聽
{
public:
聽A();
聽void f1();
聽virtual void f2();
聽virtual void f3()=0;
聽virtual ~A();

};

瀛愮被:
class B : public A聽
{
public:
聽B();
聽void f1();
聽void f2();
聽void f3();
聽virtual ~B();

};
涓誨嚱鏁?
int main(int argc, char* argv[])
{
聽A *m_j=new B();
聽m_j->f1();
聽m_j->f2();
聽m_j->f3();
聽delete m_j;
聽return 0;
}

f1()鏄竴涓櫘閫氱殑閲嶈澆.
璋冪敤m_j->f1();浼氬幓璋冪敤A綾諱腑鐨刦1(),瀹冩槸鍦ㄦ垜浠啓濂戒唬鐮佺殑鏃跺欏氨浼氬畾濂界殑.
涔熷氨鏄牴鎹畠鏄敱A綾誨畾涔夌殑,榪欐牱灝辮皟鐢ㄨ繖涓被鐨勫嚱鏁?
f2()鏄櫄鍑芥暟.
璋冪敤m_j->f2();浼氳皟鐢╩_j涓埌搴曚繚瀛樼殑瀵硅薄涓?瀵瑰簲鐨勮繖涓嚱鏁?榪欐槸鐢變簬new鐨凚
瀵硅薄.
f3()涓巉2()涓鏍?鍙槸鍦ㄥ熀綾諱腑涓嶉渶瑕佸啓鍑芥暟鐜板疄.



Q 2006-09-06 15:40 鍙戣〃璇勮
]]>
char ** 榪欎釜涓滀笢http://www.shnenglu.com/qjbest/archive/2006/07/20/10251.htmlQQThu, 20 Jul 2006 07:38:00 GMThttp://www.shnenglu.com/qjbest/archive/2006/07/20/10251.htmlhttp://www.shnenglu.com/qjbest/comments/10251.htmlhttp://www.shnenglu.com/qjbest/archive/2006/07/20/10251.html#Feedback0http://www.shnenglu.com/qjbest/comments/commentRss/10251.htmlhttp://www.shnenglu.com/qjbest/services/trackbacks/10251.html
涓鑸敤鐨勬渶澶氱殑鎬曟槸char * 浜嗭紝琛ㄧず鐨勬槸鎸囧悜C椋庢牸瀛椾覆鐨勬寚閽堛傞偅 char **p 鍙堟槸浠涔堝憿錛焢琛ㄧず鐨勬槸鎸囧悜鎸囬拡鐨勬寚閽堛傛瘮濡傦細

//鍒涘緩p
char **p=new char*[100];聽
for(int i=0;i<100;i++)
{
聽聽聽p[i]=new char[30];聽 // p[i]涓烘寚鍚戞渶緇堝瓧涓茬殑鎸囬拡錛岃瀛椾覆闀垮害涓?0錛岃宲 鍙堟槸鎸囧悜p[i]鐨勬寚閽?br />}

//閲婃斁絀洪棿
for(int i=0;i<100;i++)
{
聽聽聽delete p[i];
}
delete p;





Q 2006-07-20 15:38 鍙戣〃璇勮
]]>
涔﹀晩涔~~~~~~~~~~~http://www.shnenglu.com/qjbest/archive/2006/05/26/7701.htmlQQFri, 26 May 2006 09:49:00 GMThttp://www.shnenglu.com/qjbest/archive/2006/05/26/7701.htmlhttp://www.shnenglu.com/qjbest/comments/7701.htmlhttp://www.shnenglu.com/qjbest/archive/2006/05/26/7701.html#Feedback0http://www.shnenglu.com/qjbest/comments/commentRss/7701.htmlhttp://www.shnenglu.com/qjbest/services/trackbacks/7701.html
銆奀++紼嬪簭璁捐璇█銆嬶細濡傛灉浣犲彧涔頒竴鏈珻++涔︼紝榪欐湰灝辨槸浣犵殑閫夋嫨錛屼綔鑰匓jarne灝辨槸璁╀綘鍋氬嚭榪欐牱閫夋嫨鐨勫叏閮ㄧ悊鐢憋紝娌℃湁浜鴻兘姣斾粬鏇翠簡瑙d粈涔堟牱鎵嶆槸鐪熸鐨勪嬌鐢–++緙栫▼浜嗭紝鏈変漢璇村埌榪欐湰涔﹁璦鏅︽訂錛屾垨鑰呭涓庡垵瀛﹁呮涔︿笉閫傚悎錛屽姝よ瘎璁烘垜棰囦笉浠ヤ負鐒訛紝鎴戠湅鐨勬槸涓枃鐗堬紝璧風爜鍦ㄦ垜鐪嬫潵璇█鎻忓彊闈炲父鍒頒綅錛屾垜鍠滄榪欐牱鐨勬妧鏈弿鍙欓鏍箋傚叏涔︾殑鏍稿績灝辨槸鍛婅瘔浣犲浣曞幓鐢ㄦ紜殑瑙傚康緙栧啓姝g‘鐨凜++鐨勪唬鐮併傚己鐑堟帹鑽愩?br />


銆奀++璇█璁捐涓庢紨鍖栥嬶細榪欐湰涔︿篃鏄垜鍚屾椂鎷ユ湁涓嫳涓ょ増鐨勪袱鏈功涔嬩竴錛堝彟澶栦竴鏈槸銆婅璁℃ā寮忋嬶級銆傚鏋滃湪寰楀埌涓婇潰鐨勯偅鏈功涔嬪悗浣犻渶瑕佺浜屾湰錛岄偅涔堝湪鎴戠湅鏉ヨ繖灝辨槸浣犵殑閫夋嫨錛屼綔鑰呭悓鏍鋒槸Bjarne錛屼粬灝嗗湪榪欐湰涔︿腑鍛婅瘔浣燙++鐨勮搗婧愪笌鍙戝睍錛岃璦鍘熷垯涓庢湰璐紝鍚勭鐗規у姞鍏ョ殑鐞嗙敱鍜岃冮噺錛屼互鍙婂嚑涔庝竴鍒囧叧浜嶤++鏈夎叮鐨勬晠浜嬨傛垜闃呰榪囦腑鑻變袱鐗堬紝閮芥槸寮虹儓鎺ㄨ崘銆?br />


銆奀++鏍囧噯紼嬪簭搴撱嬶細鍦ˋMAZON涓婇潰鍏充簬C++涔︾睄璇勮鏈涓虹伀鏆寸殑涓鏈傚叏涔﹀浜庢爣鍑嗙▼搴忓簱鐨勪粙緇嶅彲璋撴繁鍏ユ祬鍑猴紝鑰屼笖鍏ㄤ功閮芥槸浠庡疄闄呰繍鐢ㄥ嚭鍙戯紝涔︿腑渚嬪瓙綆鍗曞嵈闈炲父璇存槑闂錛屽姞涓婁竴浜涘浘琛ㄧ殑闄堝垪錛屼嬌鍏舵蹇靛崄鍒嗘竻鏅幫紝鑰屼笖浠庢墜鍐屽拰瀛︿範涓ゆ柟闈㈢湅閮芥湁鍏跺瓨鍦ㄤ環鍊箋傚己鐑堟帹鑽愩?br />


銆奅FFECTIVE C++ 涓枃鐗堛嬶細鏃犻』澶氳錛屽湪浠諱綍C++涔︾睄鎺ㄨ崘鐩綍涓兘鍙互鎵懼埌榪欐湰涔︾殑韜獎錛岀洓鍚嶄箣涓嬪繀鏃犺櫄澹備富瑕佸己璋冪殑鏄繍鐢–++鐨勫悇縐嶇壒鎬х殑鏃跺欐墍蹇呴』娉ㄦ剰鐨勫湴鏂癸紝浠ュ強涓浜涙瘮杈冮氱敤鐨勮璁℃墜孌點傚叾鐭皬綺炬倣鐨勮璦鑷劧闈炲父閫傚悎蹇妭濂忕殑鐜頒唬椋庢牸錛屼釜浜哄氨鍗佸垎鍠滄Meyer鐨勫啓浣滄柟寮忋傚己鐑堟帹鑽愩?br />


銆奙ORE EFFECTIVE C++ 涓枃鐗堛嬶細鍋氫負涓婃湰涔︾殑濮愬綃囷紝涓鏍風殑鍐欎綔椋庢牸錛屼竴鏍風殑鍐欎綔鐩殑銆傚彧鏄釜浜鴻涓哄拰鍏跺濮愮浉姣旓紝瀛樺湪宸窛錛屼富瑕佹槸淇℃伅閲忔病鏈夈奅FFECTIVE C++ 涓枃鐗堛嬮偅涔堝ぇ錛屼富瑕佽鍒頒簡涓浜汣++鐨勮璁℃儻鐢ㄦ墜娉曘傛帹鑽愩?br />


銆奀++ PRIMER 涓枃鐗堛嬶細鍚屾牱鏄嚭鑷ぇ甯堜箣鎵嬶紝浣滆匧IPPMAN錛屼綔涓烘棭鏈烠++緙栬瘧鍣ㄧ殑瀹炵幇鑰呬箣涓錛屽涓嶤++鐨勪簡瑙d互鍙婅濡備綍璁哄簭閮芥湁鑷繁鐨勭嫭鍒拌瑙c傚仛涓篊++鐨勭櫨縐戝叏涔﹀拰銆奀++紼嬪簭璁捐璇█銆嬫湁鐫涓鏍風殑鍦頒綅銆備絾鏄墠鑰呮洿寮鴻皟鐨勬槸C++鐨勮娉曞拰鍏惰涔夛紝鑰屽悗鑰呭垯鏄互濡備綍鐢–++榪涜鍚堢悊璁捐鍋氫負鎻忓彊鐨勪腑蹇冦傚叏涔︽瀯鎬濆崄鍒嗗閥濡欙紝涔︾殑涓寮濮嬪氨鐩存帴榪涘叆C++鐨勪富棰橈紝鍓嶉潰浜旂珷閮界敤綾昏璁′竴涓暟鎹粨鏋勶紝璁╄鑰呭畬鍏ㄦ槑鐧戒簡鍚勭鐢ㄦ埛瀹氫箟綾誨瀷鎵浠h〃鐨勬娊璞¤兘鍔涳紝鐒跺悗鐩存帴榪涘叆絎叚绔犳爣鍑嗗簱涓殑瀹瑰櫒綾伙紝榪欐牱鐨勮璁¤璇昏呭崄鍒嗘竻妤氱殑寤虹珛瀹瑰櫒鍜岀被榪欎袱涓狢++涓崄鍒嗛噸瑕佺殑姒傚康銆傝繖鏍風殑璁捐閽堝鏈変竴瀹氬熀紜鐨凜++璇昏呮潵璇村彲浠ヨ鏄潪甯告湁鏁堟灉鐨勩備絾鏄浜庡垵瀛﹁呮潵璇達紝榪欑‘瀹炰笉鏄竴鏈悎閫傜殑涔︾睄錛屽洜涓轟竴涓婃潵澶鐨勫悕璇嶄細鎶婂垰鍒氭帴瑙++鐨勪漢鍚撶潃鐨勩傛帹鑽愩?br />


銆奀++娌夋濆綍銆嬶細闈炲父鏈夌壒鐐圭殑涓鏈功錛屽叏涔﹀亣璁捐鑰呭凡緇忛氭檽C++璇█錛岄噸鐐瑰憡璇夎鑰匔++鐨勬蹇典互鍙婁竴浜汣++鐨勮璁℃墜孌碉紝姣斿鐢–++鍒板簳涓轟粈涔堜細姣擟鎴栬呭叾浠栬繃紼嬭璦鏇村ソ錛燂紙涔︿腑緇欏嚭鐨勭瓟妗堟槸錛屽洜涓哄彧鏈夊璞℃墠鏈夎兘鍔涗繚鎸佷竴瀹氱殑鐘舵侊紝鑰岀畻娉曟病鏈夎繖鏍風殑鑳藉姏錛夛紝濡備綍榪涜鎶借薄鏁版嵁綾誨瀷鐨勭▼搴忚璁★紝濡備綍鐞嗚В澶氭侊紝濡備綍閫氳繃浠g悊闅愯棌緇ф壙錛屽浣曡繘琛屽紩鐢ㄦ妧鏁幫紝涓轟簡鏁堢巼濡備綍榪涜緙撴椂鎷瘋礉錛屼互鍙婃ā鏉挎妧鏈槸濡備綍鍙戝睍婕旇繘鏈鍚庢瀯鎴愭垚STL搴撶殑銆傞槄璇繪劅瑙夊拰銆奀++紼嬪簭璁捐璇█銆嬩竴鏍鳳紝鎬濇兂鎬ч潪甯稿己錛岃榪欐牱鐨勪功寰堢瘡錛岃剳瀛愬繀欏諱竴鐩存濊冮棶棰橈紝鎬濊冧綔鑰呴噷闈㈡彁鍑虹殑闂鍜屼粬鎻愬嚭鐨勮В鍐蟲柟寮忋傝繖鏈功鏈澶х殑鐗圭偣鏄潪甯哥洿鎺ョ殑鎶奀++璇█鐨勬牳蹇冩毚闇插嚭鏉?----涓夌鎶借薄妯″瀷鍜屾瀬鍏惰璦璁炬柦鏈韓瀵硅繖涓夌鎶借薄妯″瀷鐨勬敮鎸併傝屻奀++娌夋濆綍銆嬬粰鎴戠殑鏇存繁灞傛濊冩槸浠涔堟墠鏄繍鐢–++鏈鍚堢悊鐨勬柟寮忋傛帹鑽愩?br />


銆奀++ STL涓枃鐗堛嬶細寰堟湸瀹烇紝涓嶈姳淇忥紝浣嗘槸浠峰煎緢楂樸備釜浜鴻涓哄叾涓昏浠峰間綋鐜板湪浠ヤ笅鍑犱釜鏂歸潰錛?錛屽浜嶴TL鐨勫疄鐜板叧閿甶terator涓鑸兘浣跨敤浜嗕袱縐嶆柟寮忔弿鍙欙紝涓縐嶆瘮杈冭佸紡鐨勫嚱鏁版柟娉曪紝涓縐嶆槸鏂扮殑 traits鎶宸э紝榪欐牱璇昏呭彲浠ラ潪甯告竻妤氱殑鐭ラ亾鎶鏈殑婕旇繘銆?錛屾彁渚涗簡涓涓猄TL LITE鐗堟湰錛岄槄璇昏繖鏍風殑浠g爜瀵硅嚜宸辯殑鎻愰珮闈炲父澶с?錛屼功涓彁渚涚殑嫻嬭瘯妯″潡瀵逛簬璇昏呮潵璇翠篃鏄潪甯告湁鐨勪竴绔狅紝瀵逛簬鎯蟲墿灞昐TL鐨勶紝鍙互鎸夌収涓婇潰鎻愪緵鐨勬柟娉曟祴璇曡嚜宸辯殑STL緇勪歡銆傜己鐐癸細瑁呰姣旇緝綺楃硻錛屼笌澶у笀涔嬩綔鐨勫湴浣嶄笉鐩哥О銆傛帹鑽?br />


銆奀++ PRIMER PLUS 涓枃鐗堛嬶細涓鏈濇兂鎬т笉鏄緢寮猴紝鎶宸фт笉鏄緢寮虹殑涔︼紝浣嗘槸瀵逛簬鍒濆鑰呮潵璇撮潪甯稿悎閫傜殑涔︺傚叾涓澶氳搴忔柟寮忛兘鍜屽叿浣撳寲錛屾諱綋鏉ヨ錛岃繖鏈功鏄垜鐪嬭繃鐨凜++涔︾睄閲岄潰鏈鍚堥傚垵瀛﹁呯殑銆傛帹鑽愩?br />


銆婃繁搴︽帰绱++瀵硅薄妯″瀷銆嬶細榪欎篃鏄竴鏈瘮杈冪壒鍒殑涔︼紝鍛婅瘔浣犵紪璇戝櫒鏄浣曞畨鎺掑鐞嗗璞$殑鍐呭瓨絀洪棿鐨勶紝浠ュ強涓浜汷O鐗規ф槸濡備綍瀹炵幇鐨勩備笉璁や負榪欐槸涓鏈珻++蹇呴』璇葷墿錛岀畻鏄鍚庤鐗╁簲璇ユ瘮杈冨悎閫傚惂錛屽洜涓烘湁鏃墮棿浜嗚ВC++鐨凮O瀹炵幇榪樹笉濡傝姳鐐規椂闂存悶娓呮OO鐞嗚鐨勬湰璐ㄦ蹇碉細type theory銆傛帹鑽愩?br />


銆奀++璁捐鏂版濈淮鈥斺旀硾鍨嬬紪紼嬩笌璁捐妯″紡涔嬪簲鐢ㄣ嬶細鍙皳C++涓殑濂囦功銆傝繖鏍風殑涓鏈功錛屽緢闅捐浜哄仛鍑烘紜殑璇勪環涓庢帹鑽愭寚鏁幫紙灝ゅ叾鏄互鎴戣繖涓疄鐢ㄥ拰浜虹敓鏈氨搴旇浜箰涓轟漢鐢熻鐨勪漢鏉ヨ~錛氾級錛屽洜涓哄叏涔︽墍浠h〃鐨勬濇兂鍓嶅崼鍒頒簡鏈夌偣涓嶅垏瀹為檯鐨勫湴姝ワ紝妯″紡+娉涘瀷鈥斿涔堥珮闆呯殑緇勫悎銆傛垜涓漢鐨勮鐐規槸錛屽彧鏈変竴閮ㄥ垎浜洪渶瑕侀槄璇繪涔︼紝浠栦滑灝辨槸鎵璋撶殑real c++ fans錛屾殏涓斾笉鎻怌++鏈韓鏄惁閬囧埌浜嗗洶闅撅紝灝卞叾涔︿腑鎵浠h〃鐨勮璁℃濇兂錛屽浜嶤++娌℃湁涓鐐規劅鎯呯殑紼嬪簭鍛橈紙鎰熸儏灝辨槸浠ョ埍濂戒負鍩虹錛岃屼笉鏄互鏀掗挶涓哄墠鎻愶級錛屾垜鎯沖浜庤繖鏍風殑璁捐鎶鏈諱細鏈夋檿鐨勬劅瑙夛紝鑰屼竴鑸▼搴忓憳澶氬崐閮戒笉浼氬枩嬈㈣繖鏍風殑鎰熻~錛氾級銆傛帹鑽愩?br />


銆婂璞℃彮縐橈細Java銆丒iffel鍜孋++銆嬶細浠庝功鍚嶅氨鍙互鐪嬪嚭榪欐湰涔︿笉浠呬粎鍜孋++鏈夊叧緋匯傚彲浠ヨ鍏ㄤ功灝辨槸瀵笴++鐨勪竴嬈℃壒鍒ゅ惂錛堜功涔熻搗婧愪笌浣滆呯殑涓綃囨壒鍒++鐨勬枃绔狅級銆傛湁鏃跺欏惉鍚彟澶栦竴縐嶅0闊沖鑷繁淇濇寔娓呴啋鐨勫ご鑴戞槸闈炲父鏈夊府鍔╃殑錛屽寰呬竴涓漢錛屽寰呬竴鏈功浠ュ強瀵瑰緟涓闂ㄧ▼搴忚璁¤璦閮芥槸濡傛銆傝繖鏈功濂借薄涓嶆槸寰堢伀錛屽ぇ姒傝窡鍏跺浼犱笉鏄緢鍒頒綅錛屾垨鑰呭悓鑳藉悓鏃朵簡瑙h繖涓夐棬璇█騫舵瘮杈冨叧蹇冭繖浜涜璦娣卞眰嬈$殑浼樼暐鐨勮鑰呮瘮杈冨皯鏈夊叧緋誨惂錛屽湪鎴戠湅鏉ヨ繖鏈功鍖呭惈浜嗚澶氬璞′笌綾誨瀷鏂歸潰鐨勭悊璁猴紝鏈涓哄嚭褰╃殑灝辨槸浣滆呮姄浣廈jarne鐨勨滃湪C++涓竴涓被灝辨槸涓涓被鍨嬧濊繖鏍風殑鈥滈敊璇濊█璁虹嫚鎵圭殑璁鴻瘉榪囩▼銆傜湅榪欐湰涔﹀彟澶栦竴涓ソ澶勬槸鑳芥暀浼氬ぇ瀹惰濡備綍鍘誨悎鐞嗙殑杈╅┏鑷繁鐨勫鎵媬錛氾級銆傛帹鑽愩?br />


銆婂ぇ瑙勬āC++紼嬪簭璁捐銆嬶細涔﹀湪鎵嬩笂寰堜箙浜嗭紝鍙竴鐩存病鏈変粩緇嗙湅錛岃繖涔熸槸璇勮涔嬪墠蹇呴』璇存槑鐨勩傛諱綋鐪嬫潵涔︿腑娑夊強鐨勫緢澶氫笢瑗塊兘椴滆浜庡叾浠栬鏈備笉綆MAZON涓婄殑璇勮鏄惁鏄繖鏈功姣旇緝榪囨椂錛岃搗鐮佸畠浠嬬粛鐨勮澶氬涓庢垜鏉ヨ閮芥槸鎴戞墍涓嶇煡閬撲笉浜嗚В鐨勶紝鍒漢璇磋繃鏃舵槸浠栫殑浜嬫儏銆傝屾垜錛岃繕鏄帹鑽愩?br />


銆奡TL鍜屾硾鍨嬬紪紼嬨嬶細闅懼緱鐨勪竴鏈叧浜庢硾鍨嬬紪紼嬬殑鐞嗗康涔︾睄錛屽悓鏍蜂篃鏄綔涓烘墜鍐屽拰瀛︿範涓ょ敤錛屼絾鏄叾鎵嬪唽涓嶆槸浣跨敤鎵嬪唽錛岃屾槸姒傚康鎵嬪唽錛屽浜庤璁¤嚜宸辯殑STL緇勪歡錛岃繖鏈功鏈夐潪甯稿ソ鐨勫府鍔╋紝铏界劧緗戜笂鏈夌瘒STL鐨勬枃妗o紝鍏朵腑鐨?0%鍐呭鍜岃繖鏈功闆峰悓錛屼絾姝や功浠嶄笉澶卞彲璇繪с傛帹鑽愩?br />


銆奀++緙栫▼鎬濇兂 絎簩鐗堛嬶細闈炲父涓鑸殑涔︼紝鏄殑榪欏氨鏄垜瀵硅繖鏈緢澶氫漢濂変負鍚嶈憲鐨勮瘎璁猴紝鑷充簬涓轟粈涔堟槸榪欐牱鐨勮瘎璁猴紝鎴栬呬綘涓嶇浉淇℃垜璇寸殑鏄瑙傝瘽錛屽湪浣犱拱浜嗕箣鍚庣湅瀹屽氨鐭ラ亾浜嗐備竴鑸?br />


銆奅ssential C++涓枃鐗堛嬶細鎬繪劅瑙夎繖鏈功瀹氫綅涓嶆槸寰堟竻妤氾紝鍥犱負瀵逛簬鍒濆鑰呮潵璇村叾寮濮嬪氨娑夊強浜嗗お澶氱殑鍚嶈瘝錛屽垵瀛﹁呯湅榪欐湰涔︼紝鍑犱箮灝變笉瑕佹寚鏈涜兘寰堝ソ鐨勫叆闂ㄣ傝屽浜庤繘闃惰呮潵璇達紝鍏跺唴瀹瑰茍鏃犳柊鎰忥紝瀵逛簬C++楂樻墜鏉ヨ錛岃繖鏍風殑灝忚鏈紝鏍規湰灝辨病鏈夐槄璇葷殑蹇呰錛屼篃璁告槸LIPPMAN+JJHOU鐨勭洓鍚嶅惂錛屼絾鎴戣寰楄繖嬈$畻鏄湁铏氬+浜唦錛氾級銆備竴鑸?br />


銆奡TL婧愮爜鍓栨瀽銆嬶細渚疭IR鐨勫ぇ闄嗕袱鏈憲浣滀箣涓錛屼絾鍦ㄦ垜蹇冧腑鍏惰川閲忓ソ璞″茍涓嶅寰堝浜鴻鐨勯偅鏍峰ソ錛屽氨鍚岀被浣滃搧銆奀++ STL涓枃鐗堛嬬浉姣旇緝鍐呭鐣ョ幇鍗曡杽錛屽茍涓斾笁绔犱箣鍚庡緢澶氫笢瑗塊兘緇欎漢浠ュ爢鐮岀殑鎰熻錛岃屼笖澶ч儴鍒嗙簿褰╃殑鏉愭枡閮藉嚭鑷奡TL鍜屾硾鍨嬬紪紼嬨嬩竴涔︼紝緇欎漢鎰熻涔︿腑渚疭IR鑷繁鐨勪笢瑗垮茍涓嶅錛屼絾絎簩绔犲浜庡唴瀛樼鐞嗘湁寰堝ソ鐨勮鍙欒〃鐜幫紝騫朵笖瑁呰綺捐壇錛屽挨鍏舵槸閭d簺鍥炬洿鏄警SIR鐨勬嬁鎵嬪ソ鎴忥紝浣嗘諱綋鎰熻鏈夌偣鍗庤屼笉瀹炪備竴鑸?br />


鍚庨潰鍒楀嚭涓ゆ湰涓嶆帹鑽愮殑錛屽叿浣撳師鍥犱篃灝變笉鍐嶅垎鏋愩?br />
銆婇珮璐ㄩ噺紼嬪簭璁捐鎸囧崡--C++/C璇█銆嬶紝

銆奀++緙栫爜瑙勮寖銆?br />


鍙﹀涓ゆ湰甯歌鐨凜++涔︾睄錛?br />
銆奅xceptional C++涓枃鐗堛嬶紝銆奙ore Exceptional C++涓枃鐗堛嬫垜鏈漢騫舵病鏈夐槄璇昏繃錛屼絾鍏跺悕澹頒笉灝忥紝鑰屼笖鍔犱箣鏇劇粡緇欐涔︿綔鑰匟erb Sutter閫氶偖浠剁殑緇忓巻錛岄偅縐嶈冭檻鍒版椂宸兘涓嶅埌24涓皬鏃剁殑鍥炰俊鐜囦互鍙婂湪淇′腑鑰愬績鐨勫鎶鏈瑙g殑鎬佸害錛屽悓鏍峰悜澶у鎺ㄨ崘榪欎袱鏈功錛屽洜涓哄湪鎴戠湅鏉erb Sutter鑳藉姏鏃犻』鑰冭檻鍔犱笂榪欐牱寰呬漢鐨勬佸害錛屽叾浣滃搧鐞嗘墍鍊煎緱澶у闃呰銆?br />


鏄殑錛屼笂闈㈠氨鏄垜澶у崐騫存潵鐪嬭繃鐨凜++鐨勪功綾嶏紝鑲畾涓嶅皯浜鴻鍢茬瑧鎴戠殑涓功鍛嗗瓙浜唦錛氾級錛屽叾瀹炴垜紜疄灝辨槸涓涓功鍛嗗瓙錛岃嚦浜庢槸鍚﹂渶瑕佺湅榪欎箞澶氫功錛屾垜涓漢鎰忚鏄笉闇瑕侊紝涓嶇劧鎴戣繕緇欏嚭鎺ㄨ崘絳夌駭騫蹭粈涔堬紵閫夋嫨鑷繁闇瑕佺殑灝辨槸鏈濂姐傚紩鐢ㄦ浘緇忔湁浜鴻鍒扮殑---璇勪功鍏跺疄灝辨槸涓滃浜洪ギ姘達紝鍐鋒殩鑷煡鈥濈殑浜嬫儏銆傜湡姝g殑涔﹁瘎鍦ㄥ摢閲岋紵鍚勮嚜鐨勫績閲屻?br />

Q 2006-05-26 17:49 鍙戣〃璇勮
]]>
swap()寮曡搗鐨勬寚閽堟濊?/title><link>http://www.shnenglu.com/qjbest/archive/2006/05/25/7621.html</link><dc:creator>Q</dc:creator><author>Q</author><pubDate>Thu, 25 May 2006 02:33:00 GMT</pubDate><guid>http://www.shnenglu.com/qjbest/archive/2006/05/25/7621.html</guid><wfw:comment>http://www.shnenglu.com/qjbest/comments/7621.html</wfw:comment><comments>http://www.shnenglu.com/qjbest/archive/2006/05/25/7621.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.shnenglu.com/qjbest/comments/commentRss/7621.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qjbest/services/trackbacks/7621.html</trackback:ping><description><![CDATA[ <p> <font style="BACKGROUND-COLOR: #ffffff"> <font color="#000000">鏄ㄥぉQQ閲屾湁涓C++鐨勬湅鍙嬮棶鎴戜釜闂錛屾庢牱鍒╃敤swap(int *x,int *y)浜ゆ崲x,y鎸囧悜鐨勫湴鍧鍊箋傝搗鍒濇垜寰堢畝鍗曠殑緇欎簡浠栦竴涓柟娉曪細<br /><br />鏂規硶涓錛?br />int *p;<br />void swap(int *x,int *y)<br />{<br />聽cout<<"swap("<<*x<<","<<*y<<")"<<endl;<br />聽p=x;<br />聽x=y;<br />聽y=p;<br />聽cout<<"swap("<<*x<<","<<*y<<")"<<endl;<br />}<br />int main()<br />{<br />聽int a=10;<br />聽int b=2;<br />聽int *x=&a;<br />聽int *y=&b;<br />聽cout<<*x<<" "<<*y<<endl;<br />聽swap(x,y);<br />聽cout<<*x<<" "<<*y<<endl;<br />} <br />榪愮畻緇撴灉鍗存槸錛?br />10聽 2<br />10聽 2聽聽 //swap<br />2聽聽聽 10 //swap<br />10聽 2<br />浠庣粨鏋滀笂鍙互鐪嬪嚭swap()浠嶇劧娌℃湁璧峰埌鏁堟灉<br /><br />鎺ョ潃鐢?amp;鏉ュ仛瀹為獙<br />鏂規硶浜岋細<br />void swap(int &x,int &y)<br />{<br />聽cout<<"swap("<<x<<","<<y<<")"<<endl;<br />聽int temp;<br />聽temp=x;<br />聽x=y;<br />聽y=temp;<br />聽cout<<"swap("<<x<<","<<y<<")"<<endl;<br />}<br />int main()<br />{<br />聽<br />聽int a=10;<br />聽int b=2;<br />聽int &x=a;<br />聽int &y=b;<br />聽cout<<x<<" "<<y<<endl;<br />聽swap(x,y);<br />聽cout<<x<<" "<<y<<endl;<br />}<br />榪愮畻緇撴灉鏄細<br />10聽 2<br />10聽 2聽聽 //swap<br />2聽聽聽 10 //swap<br />2聽聽聽 10<br />浠庣粨鏋滀笂鍙互鐪嬪嚭swap()璧峰埌棰勫畾鏁堟灉<br /><br />鐢╥nt *&鍋氬疄楠?br />鏂規硶涓夛細<br />int *p;<br />void swap(int *&x,int *&y)<br />{<br />聽cout<<"swap("<<*x<<","<<*y<<")"<<endl;<br />聽p=x;<br />聽x=y;<br />聽y=p;<br />聽cout<<"swap("<<*x<<","<<*y<<")"<<endl;<br />}<br />int main()<br />{<br />聽int a=10;<br />聽int b=2;<br />聽int *x=&a;<br />聽int *y=&b;<br />聽cout<<*x<<" "<<*y<<endl;<br />聽swap(x,y);<br />聽cout<<*x<<" "<<*y<<endl;<br />}聽 <br />榪愮畻緇撴灉鏄細<br />10聽 2<br />10聽 2聽聽 //swap<br />2聽聽聽 10 //swap<br />2聽聽聽 10<br />浠庣粨鏋滀笂鍙互鐪嬪嚭swap()璧峰埌棰勫畾鏁堟灉<br /><br />鏈鍚庯紝鍐嶆鐢╥nt *鍋氬疄楠岋紝娉ㄦ剰swap()閮ㄥ垎鐨勫彉鍖?br />鏂規硶鍥涳細<br />void swap(int *x,int *y)<br />{<br />聽int temp=0;<br />聽cout<<"swap("<<*x<<","<<*y<<")"<<endl;<br />聽temp=*x;<br />聽*x=*y;<br />聽*y=temp;<br />聽cout<<"swap("<<*x<<","<<*y<<")"<<endl;<br />}<br />int main()<br />{<br />聽<br />聽int a=10;<br />聽int b=2;<br />聽int *x=&a;<br />聽int *y=&b;<br />聽cout<<*x<<" "<<*y<<endl;<br />聽swap(x,y);<br />聽cout<<*x<<" "<<*y<<endl;<br />} <br />榪愮畻緇撴灉鏄細<br />10聽 2<br />10聽 2聽聽 //swap<br />2聽聽聽 10 //swap<br />2聽聽聽 10<br />浠庣粨鏋滀笂鍙互鐪嬪嚭swap()璧峰埌棰勫畾鏁堟灉<br />=============================================================<br />濂斤紝鐜板湪鏉ヨ涓嬩負浠涔堜嬌鐢ㄦ柟娉曚竴鍜屾柟娉曞洓錛屽悓鏍鋒槸浼犻掔殑鍦板潃錛屼負浠涔堢粨鏋滀細涓嶅悓錛熺瓟妗堝氨鍦╯wap(int *x,int *y)涓娿傚湪main()閲岃櫧鐒舵湁x鍜寉鎸囬拡錛屼絾鏄紝鍦╯wap()閲岀殑x,y鍗存槸涓存椂鍙橀噺銆傞鍏堣鏄庤繖涓鐐規槸鏈夊ソ澶勭殑銆傛垜浠潵緇х畫鍒嗘瀽浠ヤ笅浠g爜鍐呭錛?br />聽錛堜竴錛?br />聽聽 p=x;聽聽//璇ユ柟娉曠湅浼兼垜浠笇鏈涢氳繃浜ゆ崲涓存椂鎸囬拡x,y鎵鎸囧悜鐨勫湴鍧錛屾潵杈懼埌浜ゆ崲main()鍑芥暟涓疄鍙倄,y鎵鎸?br />聽聽 x=y;聽聽//鍚戝湴鍧錛屼粠鑰岃揪鍒頒氦鎹㈡暟鍊肩殑鏁堟灉銆傝櫧鐒墮昏緫涓婃槸姝g‘鐨勶紝紼嬪簭緙栬瘧涔熼氳繃錛屼絾鏄紝鍗村拷鐣ヤ簡聽聽<br />聽聽聽y=p; //涓涓潪甯擱噸瑕佺殑鍐呭錛岄偅灝辨槸swap()涓殑x,y浠嶇劧鏄復鏃剁殑錛岃櫧鐒惰紼嬪簭紜疄鍦╯wap涓殏鏃朵氦鎹?br />聽聽聽聽聽聽聽聽聽聽 //浜唜,y鎵鎸囧悜鐨勫湴鍧錛?u><strong>浣嗘槸瀹為檯涓妜,y鎵鎸囧悜鍦板潃鐨勬暟鍊間粛鐒舵病鏈夎鏀瑰彉錛?</strong></u></font> </font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽錛堝洓錛?br />聽聽 int temp=0;聽聽 //閫氳繃瀵?鏂規硶涓 鐨勬葷粨錛屾垜浠綔濡備笅璋冩暣錛屽湪swap()鍑芥暟涓紝鎴戜滑绔嬪埢鏀瑰彉涓存椂鎸囬拡聽<br />聽聽聽temp=*x;聽聽聽聽 //x,y鎵鎸囧悜鍦板潃鐨勬暟鍊鹼紝鍗蟲敼鍙榤ain()鍑芥暟涓疄鍙傛寚閽坸,y鎵鎸囧悜鍦板潃鐨勬暟鍊箋傛墍浠ワ紝鍗充嬌<br />聽聽 *x=*y;聽聽聽聽聽聽聽聽 //swap()鍑芥暟璋冪敤瀹屽悗鍐呴儴涓存椂x,y娑堝け錛屼絾瀹冧滑鎵鍋氱殑宸ヤ綔宸茬粡瀹屾垚錛氭敼鍙樻暟鍊鹼紒<br />聽聽 *y=temp;<br /><br />鍚岀悊錛屽浜庢柟娉曚笁鍜屾柟娉曚簩錛岄氳繃int & 鍜宨nt *&涔熸槸鍋氫簡綾諱技鏂規硶鍥涚殑宸ヤ綔錛屾墍浠ヨ兘姝g‘swap鎵闇鍐呭銆?br />鑷充簬璇翠嬌鐢ㄥ摢縐嶆柟娉曪紝灝辨槸浠佽呰浠佺殑浜嬩簡銆?br /></font> </p> <img src ="http://www.shnenglu.com/qjbest/aggbug/7621.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qjbest/" target="_blank">Q</a> 2006-05-25 10:33 <a href="http://www.shnenglu.com/qjbest/archive/2006/05/25/7621.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>錛堣漿杞斤級C++ sizeof 浣跨敤瑙勫垯鍙婇櫡闃卞垎鏋?/title><link>http://www.shnenglu.com/qjbest/archive/2006/05/19/7398.html</link><dc:creator>Q</dc:creator><author>Q</author><pubDate>Fri, 19 May 2006 02:00:00 GMT</pubDate><guid>http://www.shnenglu.com/qjbest/archive/2006/05/19/7398.html</guid><wfw:comment>http://www.shnenglu.com/qjbest/comments/7398.html</wfw:comment><comments>http://www.shnenglu.com/qjbest/archive/2006/05/19/7398.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qjbest/comments/commentRss/7398.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qjbest/services/trackbacks/7398.html</trackback:ping><description><![CDATA[ <font style="BACKGROUND-COLOR: #ffffff" color="#000000">From錛?/font> <a > <font style="BACKGROUND-COLOR: #ffffff" color="#000000">http://freeman.cnblogs.com/</font> </a> <br /> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">1銆佷粈涔堟槸sizeof</font> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 棣栧厛鐪嬩竴涓媠izeof鍦╩sdn涓婄殑瀹氫箟錛?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t.</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鐪嬪埌return榪欎釜瀛楃溂錛屾槸涓嶆槸鎯沖埌浜嗗嚱鏁幫紵閿欎簡錛宻izeof涓嶆槸涓涓嚱鏁幫紝浣犺榪囩粰涓涓嚱鏁頒紶鍙傛暟錛岃屼笉鍔犳嫭鍙風殑鍚楋紵sizeof鍙互錛屾墍浠izeof涓嶆槸鍑芥暟銆傜綉涓婃湁浜鴻sizeof鏄竴鍏冩搷浣滅錛屼絾鏄垜騫朵笉榪欎箞璁や負錛屽洜涓簊izeof鏇村儚涓涓壒孌婄殑瀹忥紝瀹冩槸鍦ㄧ紪璇戦樁孌墊眰鍊肩殑銆備婦涓緥瀛愶細<br />聽<br />聽cout<<sizeof(int)<<endl;聽// 32浣嶆満涓奿nt闀垮害涓?<br />聽cout<<sizeof(1==2)<<endl;聽// == 鎿嶄綔絎﹁繑鍥瀊ool綾誨瀷錛岀浉褰撲簬 cout<<sizeof(bool)<<endl;</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鍦ㄧ紪璇戦樁孌靛凡緇忚緲昏瘧涓猴細</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽cout<<4<<endl;<br />聽cout<<1<<endl;</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 榪欓噷鏈変釜闄烽槺錛岀湅涓嬮潰鐨勭▼搴忥細</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽int a = 0;<br />聽cout<<sizeof(a=3)<<endl;<br />聽cout<<a<<endl;</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 杈撳嚭涓轟粈涔堟槸4錛?鑰屼笉鏄湡鏈涗腑鐨?錛?錛燂紵錛熷氨鍦ㄤ簬sizeof鍦ㄧ紪璇戦樁孌靛鐞嗙殑鐗規с傜敱浜巗izeof涓嶈兘琚紪璇戞垚鏈哄櫒鐮侊紝鎵浠izeof浣滅敤鑼冨洿鍐咃紝涔熷氨鏄?)閲岄潰鐨勫唴瀹逛篃涓嶈兘琚紪璇戯紝鑰屾槸琚浛鎹㈡垚綾誨瀷銆?鎿嶄綔絎﹁繑鍥炲乏鎿嶄綔鏁扮殑綾誨瀷錛屾墍浠=3鐩稿綋浜巌nt錛岃屼唬鐮佷篃琚浛鎹負錛?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽int a = 0;<br />聽cout<<4<<endl;<br />聽cout<<a<<endl;</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鎵浠ワ紝sizeof鏄笉鍙兘鏀寔閾懼紡琛ㄨ揪寮忕殑錛岃繖涔熸槸鍜屼竴鍏冩搷浣滅涓嶄竴鏍風殑鍦版柟銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 緇撹錛氫笉瑕佹妸sizeof褰撴垚鍑芥暟錛屼篃涓嶈鐪嬩綔涓鍏冩搷浣滅錛屾妸浠栧綋鎴愪竴涓壒孌婄殑緙栬瘧棰勫鐞嗐?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">2銆乻izeof鐨勭敤娉?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 sizeof鏈変袱縐嶇敤娉曪細<br />聽 <br />聽聽聽 錛?錛塻izeof(object)<br />聽聽聽 涔熷氨鏄瀵硅薄浣跨敤sizeof錛屼篃鍙互鍐欐垚sizeof object 鐨勫艦寮忋備緥濡傦細</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 錛?錛塻izeof(typename)<br />聽聽聽 涔熷氨鏄綾誨瀷浣跨敤sizeof錛屾敞鎰忚繖縐嶆儏鍐典笅鍐欐垚sizeof typename鏄潪娉曠殑銆備笅闈婦鍑犱釜渚嬪瓙璇存槑涓涓嬶細</font> </p> <p> <br /> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽int i = 2;<br />聽cout<<sizeof(i)<<endl;聽// sizeof(object)鐨勭敤娉曪紝鍚堢悊<br />聽cout<<sizeof i<<endl;聽// sizeof object鐨勭敤娉曪紝鍚堢悊<br />聽cout<<sizeof 2<<endl;聽// 2琚В鏋愭垚int綾誨瀷鐨刼bject, sizeof object鐨勭敤娉曪紝鍚堢悊<br />聽cout<<sizeof(2)<<endl;聽// 2琚В鏋愭垚int綾誨瀷鐨刼bject, sizeof(object)鐨勭敤娉曪紝鍚堢悊<br />聽cout<<sizeof(int)<<endl;// sizeof(typename)鐨勭敤娉曪紝鍚堢悊<br />聽cout<<sizeof int<<endl;聽// 閿欒錛佸浜庢搷浣滅錛屼竴瀹氳鍔?)</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鍙互鐪嬪嚭錛屽姞()鏄案榪滄紜殑閫夋嫨銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 緇撹錛氫笉璁簊izeof瑕佸璋佸彇鍊鹼紝鏈濂介兘鍔犱笂()銆?/font> </p> <p> <br /> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">3銆佹暟鎹被鍨嬬殑sizeof</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">錛?錛塁++鍥烘湁鏁版嵁綾誨瀷</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 32浣岰++涓殑鍩烘湰鏁版嵁綾誨瀷錛屼篃灝眂har,short int(short),int,long int(long),float,double, long double<br />澶у皬鍒嗗埆鏄細1錛?錛?錛?錛?錛?, 10銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鑰冭檻涓嬮潰鐨勪唬鐮侊細</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽cout<<sizeof(unsigned int) == sizeof(int)<<endl;聽// 鐩哥瓑錛岃緭鍑?1</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 unsigned褰卞搷鐨勫彧鏄渶楂樹綅bit鐨勬剰涔夛紝鏁版嵁闀垮害涓嶄細琚敼鍙樼殑銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 緇撹錛歶nsigned涓嶈兘褰卞搷sizeof鐨勫彇鍊箋?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">錛?錛夎嚜瀹氫箟鏁版嵁綾誨瀷</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 typedef鍙互鐢ㄦ潵瀹氫箟C++鑷畾涔夌被鍨嬨傝冭檻涓嬮潰鐨勯棶棰橈細</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽typedef short WORD;<br />聽typedef long DWORD;<br />聽cout<<(sizeof(short) == sizeof(WORD))<<endl;聽// 鐩哥瓑錛岃緭鍑?<br />聽cout<<(sizeof(long) == sizeof(DWORD))<<endl;聽// 鐩哥瓑錛岃緭鍑?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 緇撹錛氳嚜瀹氫箟綾誨瀷鐨剆izeof鍙栧肩瓑鍚屼簬瀹冪殑綾誨瀷鍘熷艦銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">錛?錛夊嚱鏁扮被鍨?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鑰冭檻涓嬮潰鐨勯棶棰橈細</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽int f1(){return 0;};<br />聽double f2(){return 0.0;}<br />聽void f3(){}</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽cout<<sizeof(f1())<<endl;聽// f1()榪斿洖鍊間負int錛屽洜姝よ璁や負鏄痠nt<br />聽cout<<sizeof(f2())<<endl;聽// f2()榪斿洖鍊間負double錛屽洜姝よ璁や負鏄痙ouble<br />聽cout<<sizeof(f3())<<endl;聽// 閿欒錛佹棤娉曞void綾誨瀷浣跨敤sizeof<br />聽cout<<sizeof(f1)<<endl;聽聽// 閿欒錛佹棤娉曞鍑芥暟鎸囬拡浣跨敤sizeof聽聽聽<br />聽cout<<sizeof*f2<<endl;聽聽// *f2錛屽拰f2()絳変環錛屽洜涓哄彲浠ョ湅浣渙bject錛屾墍浠ユ嫭鍙蜂笉鏄繀瑕佺殑銆傝璁や負鏄痙ouble</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 緇撹錛氬鍑芥暟浣跨敤sizeof錛屽湪緙栬瘧闃舵浼氳鍑芥暟榪斿洖鍊肩殑綾誨瀷鍙栦唬錛?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">4銆佹寚閽堥棶棰?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鑰冭檻涓嬮潰闂錛?br />聽<br />聽cout<<sizeof(string*)<<endl;聽// 4<br />聽cout<<sizeof(int*)<<endl;聽// 4<br />聽cout<<sizof(char****)<<endl;聽// 4</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鍙互鐪嬪埌錛屼笉綆℃槸浠涔堢被鍨嬬殑鎸囬拡錛屽ぇ灝忛兘鏄?鐨勶紝鍥犱負鎸囬拡灝辨槸32浣嶇殑鐗╃悊鍦板潃銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 緇撹錛氬彧瑕佹槸鎸囬拡錛屽ぇ灝忓氨鏄?銆傦紙64浣嶆満涓婅鍙樻垚8涔熶笉涓瀹氾級銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 欏轟究鍞у敡姝鍑犲彞錛孋++涓殑鎸囬拡琛ㄧず瀹為檯鍐呭瓨鐨勫湴鍧銆傚拰C涓嶄竴鏍風殑鏄紝C++涓彇娑堜簡妯″紡涔嬪垎錛屼篃灝辨槸涓嶅啀鏈塻mall,middle,big,鍙栬屼唬涔嬬殑鏄粺涓鐨刦lat銆俧lat妯″紡閲囩敤32浣嶅疄鍦板潃瀵誨潃錛岃屼笉鍐嶆槸c涓殑 segment:offset妯″紡銆備婦涓緥瀛愶紝鍋囧鏈変竴涓寚鍚戝湴鍧 f000:8888鐨勬寚閽堬紝濡傛灉鏄疌綾誨瀷鍒欐槸8888(16浣? 鍙瓨鍌ㄤ綅縐伙紝鐪佺暐孌?錛宖ar綾誨瀷鐨凜鎸囬拡鏄痜0008888(32浣嶏紝楂樹綅淇濈暀孌靛湴鍧錛屽湴浣嶄繚鐣欎綅縐?,C++綾誨瀷鐨勬寚閽堟槸f8888(32浣嶏紝鐩稿綋浜庢鍦板潃*16 + 浣嶇Щ錛屼絾瀵誨潃鑼冨洿瑕佹洿澶?銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">5銆佹暟緇勯棶棰?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鑰冭檻涓嬮潰闂錛?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽char a[] = "abcdef";<br />聽int b[20] = {3, 4};<br />聽char c[2][3] = {"aa", "bb"};<br />聽</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽cout<<sizeof(a)<<endl;聽// 7<br />聽cout<<sizeof(b)<<endl;聽// 20*4<br />聽cout<<sizeof(c)<<endl;聽// 6<br />聽</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鏁扮粍a鐨勫ぇ灝忓湪瀹氫箟鏃舵湭鎸囧畾錛岀紪璇戞椂緇欏畠鍒嗛厤鐨勭┖闂存槸鎸夌収鍒濆鍖栫殑鍊肩‘瀹氱殑錛屼篃灝辨槸7銆俢鏄緇存暟緇勶紝鍗犵敤鐨勭┖闂村ぇ灝忔槸鍚勭淮鏁扮殑涔樼Н錛屼篃灝辨槸6銆傚彲浠ョ湅鍑猴紝鏁扮粍鐨勫ぇ灝忓氨鏄粬鍦ㄧ紪璇戞椂琚垎閰嶇殑絀洪棿錛屼篃灝辨槸鍚勭淮鏁扮殑涔樼Н*鏁扮粍鍏冪礌鐨勫ぇ灝忋?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 緇撹錛氭暟緇勭殑澶у皬鏄悇緇存暟鐨勪箻縐?鏁扮粍鍏冪礌鐨勫ぇ灝忋?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 榪欓噷鏈変竴涓櫡闃憋細</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽int *d = new int[10];</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽cout<<sizeof(d)<<endl;聽// 4</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 d鏄垜浠父璇寸殑鍔ㄦ佹暟緇勶紝浣嗘槸浠栧疄璐ㄤ笂榪樻槸涓涓寚閽堬紝鎵浠izeof(d)鐨勫兼槸4銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鍐嶈冭檻涓嬮潰鐨勯棶棰橈細</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽double* (*a)[3][6];<br />聽<br />聽cout<<sizeof(a)<<endl;聽聽// 4<br />聽cout<<sizeof(*a)<<endl;聽聽// 72<br />聽cout<<sizeof(**a)<<endl;聽// 24<br />聽cout<<sizeof(***a)<<endl;聽// 4<br />聽cout<<sizeof(****a)<<endl;聽// 8</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 a鏄竴涓緢濂囨殑瀹氫箟錛屼粬琛ㄧず涓涓寚鍚?double*[3][6]綾誨瀷鏁扮粍鐨勬寚閽堛傛棦鐒舵槸鎸囬拡錛屾墍浠izeof(a)灝辨槸4銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鏃㈢劧a鏄墽琛宒ouble*[3][6]綾誨瀷鐨勬寚閽堬紝*a灝辮〃紺轟竴涓猟ouble*[3][6]鐨勫緇存暟緇勭被鍨嬶紝鍥犳sizeof(*a)=3*6*sizeof(double*)=72銆傚悓鏍風殑錛?*a琛ㄧず涓涓猟ouble*[6]綾誨瀷鐨勬暟緇勶紝鎵浠izeof(**a)=6*sizeof(double*)=24銆?**a灝辮〃紺哄叾涓殑涓涓厓绱狅紝涔熷氨鏄痙ouble*浜嗭紝鎵浠izeof(***a)=4銆傝嚦浜?***a錛屽氨鏄竴涓猟ouble浜嗭紝鎵浠izeof(****a)=sizeof(double)=8銆?/font> </p> <p> <br /> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">6銆佸悜鍑芥暟浼犻掓暟緇勭殑闂銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鑰冭檻涓嬮潰鐨勯棶棰橈細<br />#include <iostream><br />using namespace std;</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">int Sum(int i[])<br />{<br />聽int sumofi = 0;<br />聽for (int j = 0; j < sizeof(i)/sizeof(int); j++) //瀹為檯涓婏紝sizeof(i) = 4<br />聽{<br />聽聽sumofi += i[j];<br />聽}<br />聽return sumofi;<br />}</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">int main()<br />{<br />聽int allAges[6] = {21, 22, 22, 19, 34, 12};<br />聽cout<<Sum(allAges)<<endl;<br />聽system("pause");<br />聽return 0;<br />}</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 Sum鐨勬湰鎰忔槸鐢╯izeof寰楀埌鏁扮粍鐨勫ぇ灝忥紝鐒跺悗姹傚拰銆備絾鏄疄闄呬笂錛屼紶鍏ヨ嚜鍑芥暟Sum鐨勶紝鍙槸涓涓猧nt 綾誨瀷鐨勬寚閽堬紝鎵浠izeof(i)=4錛岃屼笉鏄?4錛屾墍浠ヤ細浜х敓閿欒鐨勭粨鏋溿傝В鍐寵繖涓棶棰樼殑鏂規硶浣挎槸鐢ㄦ寚閽堟垨鑰呭紩鐢ㄣ?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 浣跨敤鎸囬拡鐨勬儏鍐碉細<br />int Sum(int (*i)[6])<br />{<br />聽int sumofi = 0;<br />聽for (int j = 0; j < sizeof(*i)/sizeof(int); j++) //sizeof(*i) = 24<br />聽{<br />聽聽sumofi += (*i)[j];<br />聽}<br />聽return sumofi;<br />}</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">int main()<br />{<br />聽int allAges[] = {21, 22, 22, 19, 34, 12};<br />聽cout<<Sum(&allAges)<<endl;<br />聽system("pause");<br />聽return 0;<br />}<br />聽聽聽 鍦ㄨ繖涓猄um閲岋紝i鏄竴涓寚鍚慽[6]綾誨瀷鐨勬寚閽堬紝娉ㄦ剰錛岃繖閲屼笉鑳界敤int Sum(int (*i)[])澹版槑鍑芥暟錛岃屾槸蹇呴』鎸囨槑瑕佷紶鍏ョ殑鏁扮粍鐨勫ぇ灝忥紝涓嶇劧sizeof(*i)鏃犳硶璁$畻銆備絾鏄湪榪欑鎯呭喌涓嬶紝鍐嶉氳繃sizeof鏉ヨ綆楁暟緇勫ぇ灝忓凡緇忔病鏈夋剰涔変簡錛屽洜涓烘鏃跺ぇ灝忔槸鎸囧畾涓?鐨勩?br />浣跨敤寮曠敤鐨勬儏鍐靛拰鎸囬拡鐩鎬技錛?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">int Sum(int (&i)[6])<br />{<br />聽int sumofi = 0;<br />聽for (int j = 0; j < sizeof(i)/sizeof(int); j++)<br />聽{<br />聽聽sumofi += i[j];<br />聽}<br />聽return sumofi;<br />}</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">int main()<br />{<br />聽int allAges[] = {21, 22, 22, 19, 34, 12};<br />聽cout<<Sum(allAges)<<endl;<br />聽system("pause");<br />聽return 0;<br />}<br />聽聽聽 榪欑鎯呭喌涓媠izeof鐨勮綆楀悓鏍鋒棤鎰忎箟錛屾墍浠ョ敤鏁扮粍鍋氬弬鏁幫紝鑰屼笖闇瑕侀亶鍘嗙殑鏃跺欙紝鍑芥暟搴旇鏈変竴涓弬鏁版潵璇存槑鏁扮粍鐨勫ぇ灝忥紝鑰屾暟緇勭殑澶у皬鍦ㄦ暟緇勫畾涔夌殑浣滅敤鍩熷唴閫氳繃sizeof姹傚箋傚洜姝や笂闈㈢殑鍑芥暟姝g‘褰㈠紡搴旇鏄細<br />#include <iostream><br />using namespace std;</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">int Sum(int *i, unsigned int n)<br />{<br />聽int sumofi = 0;<br />聽for (int j = 0; j < n; j++)<br />聽{<br />聽聽sumofi += i[j];<br />聽}<br />聽return sumofi;<br />}</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">int main()<br />{<br />聽int allAges[] = {21, 22, 22, 19, 34, 12};<br />聽cout<<Sum(i, sizeof(allAges)/sizeof(int))<<endl;<br />聽system("pause");<br />聽return 0;<br />}</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">7銆佸瓧絎︿覆鐨剆izeof鍜宻trlen</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鑰冭檻涓嬮潰鐨勯棶棰橈細</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽char a[] = "abcdef";<br />聽char b[20] = "abcdef";<br />聽string s = "abcdef";</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽cout<<strlen(a)<<endl;聽聽// 6錛屽瓧絎︿覆闀垮害<br />聽cout<<sizeof(a)<<endl;聽聽// 7錛屽瓧絎︿覆瀹歸噺<br />聽cout<<strlen(b)<<endl;聽聽// 6錛屽瓧絎︿覆闀垮害<br />聽cout<<strlen(b)<<endl;聽聽// 20錛屽瓧絎︿覆瀹歸噺<br />聽cout<<sizeof(s)<<endl;聽聽// 12, 榪欓噷涓嶄唬琛ㄥ瓧絎︿覆鐨勯暱搴︼紝鑰屾槸string綾葷殑澶у皬<br />聽cout<<strlen(s)<<endl;聽聽// 閿欒錛乻涓嶆槸涓涓瓧絎︽寚閽堛?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽a[1] = '\0';<br />聽cout<<strlen(a)<<endl;聽聽// 1<br />聽cout<<sizeof(a)<<endl;聽聽// 7錛宻izeof鏄亽瀹氱殑</font> </p> <p> <br /> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 strlen鏄鎵句粠鎸囧畾鍦板潃寮濮嬶紝鍒板嚭鐜扮殑絎竴涓?涔嬮棿鐨勫瓧絎︿釜鏁幫紝浠栨槸鍦ㄨ繍琛岄樁孌墊墽琛岀殑錛岃宻izeof鏄緱鍒版暟鎹殑澶у皬錛屽湪榪欓噷鏄緱鍒板瓧絎︿覆鐨勫閲忋傛墍浠ュ鍚屼竴涓璞¤岃█錛宻izeof鐨勫兼槸鎭掑畾鐨勩俿tring鏄疌++綾誨瀷鐨勫瓧絎︿覆錛屼粬鏄竴涓被錛屾墍浠izeof(s)琛ㄧず鐨勫茍涓嶆槸瀛楃涓茬殑闀垮害錛岃屾槸綾籹tring鐨勫ぇ灝忋俿trlen(s)鏍規湰灝辨槸閿欒鐨勶紝鍥犱負strlen鐨勫弬鏁版槸涓涓瓧絎︽寚閽堬紝濡傛灉鎯崇敤strlen寰楀埌s瀛楃涓茬殑闀垮害錛屽簲璇ヤ嬌鐢╯izeof(s.c_str())錛屽洜涓簊tring鐨勬垚鍛樺嚱鏁癱_str()榪斿洖鐨勬槸瀛楃涓茬殑棣栧湴鍧銆傚疄闄呬笂錛宻tring綾繪彁渚涗簡鑷繁鐨勬垚鍛樺嚱鏁版潵寰楀埌瀛楃涓茬殑瀹歸噺鍜岄暱搴︼紝鍒嗗埆鏄疌apacity()鍜孡ength()銆俿tring灝佽浜嗗父鐢ㄤ簡瀛楃涓叉搷浣滐紝鎵浠ュ湪C++寮鍙戣繃紼嬩腑錛屾渶濂戒嬌鐢╯tring浠f浛C綾誨瀷鐨勫瓧絎︿覆銆?/font> </p> <p> <br /> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">8銆佷粠union鐨剆izeof闂鐪媍pu鐨勫鐣?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鑰冭檻涓嬮潰闂錛氾紙榛樿瀵歸綈鏂瑰紡錛?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽union u<br />聽{<br />聽聽double a;<br />聽聽int b;<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽union u2<br />聽{<br />聽聽char a[13];<br />聽聽int b;<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽union u3<br />聽{<br />聽聽char a[13];<br />聽聽char b;<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽cout<<sizeof(u)<<endl;聽聽// 8<br />聽cout<<sizeof(u2)<<endl;聽聽// 16<br />聽cout<<sizeof(u3)<<endl;聽聽// 13</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 閮界煡閬搖nion鐨勫ぇ灝忓彇鍐充簬瀹冩墍鏈夌殑鎴愬憳涓紝鍗犵敤絀洪棿鏈澶х殑涓涓垚鍛樼殑澶у皬銆傛墍浠ュ浜巙鏉ヨ錛屽ぇ灝忓氨鏄渶澶х殑double綾誨瀷鎴愬憳a浜嗭紝鎵浠izeof(u)=sizeof(double)=8銆備絾鏄浜巙2鍜寀3錛屾渶澶х殑絀洪棿閮芥槸char[13]綾誨瀷鐨勬暟緇勶紝涓轟粈涔坲3鐨勫ぇ灝忔槸13錛岃寀2鏄?6鍛紵鍏抽敭鍦ㄤ簬u2涓殑鎴愬憳int b銆傜敱浜巌nt綾誨瀷鎴愬憳鐨勫瓨鍦紝浣縰2鐨勫榻愭柟寮忓彉鎴?錛屼篃灝辨槸璇達紝u2鐨勫ぇ灝忓繀欏誨湪4鐨勫鐣屼笂錛屾墍浠ュ崰鐢ㄧ殑絀洪棿鍙樻垚浜?6錛堟渶鎺ヨ繎13鐨勫鐣岋級銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 緇撹錛氬鍚堟暟鎹被鍨嬶紝濡倁nion錛宻truct錛宑lass鐨勫榻愭柟寮忎負鎴愬憳涓榻愭柟寮忔渶澶х殑鎴愬憳鐨勫榻愭柟寮忋?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 欏轟究鎻愪竴涓婥PU瀵圭晫闂錛?2鐨凜++閲囩敤8浣嶅鐣屾潵鎻愰珮榪愯閫熷害錛屾墍浠ョ紪璇戝櫒浼氬敖閲忔妸鏁版嵁鏀懼湪瀹冪殑瀵圭晫涓婁互鎻愰珮鍐呭瓨鍛戒腑鐜囥傚鐣屾槸鍙互鏇存敼鐨勶紝浣跨敤#pragma pack(x)瀹忓彲浠ユ敼鍙樼紪璇戝櫒鐨勫鐣屾柟寮忥紝榛樿鏄?銆侰++鍥烘湁綾誨瀷鐨勫鐣屽彇緙栬瘧鍣ㄥ鐣屾柟寮忎笌鑷韓澶у皬涓緝灝忕殑涓涓備緥濡傦紝鎸囧畾緙栬瘧鍣ㄦ寜2瀵圭晫錛宨nt綾誨瀷鐨勫ぇ灝忔槸4錛屽垯int鐨勫鐣屼負2鍜?涓緝灝忕殑2銆傚湪榛樿鐨勫鐣屾柟寮忎笅錛屽洜涓哄嚑涔庢墍鏈夌殑鏁版嵁綾誨瀷閮戒笉澶т簬榛樿鐨勫鐣屾柟寮?錛堥櫎浜唋ong double錛夛紝鎵浠ユ墍鏈夌殑鍥烘湁綾誨瀷鐨勫鐣屾柟寮忓彲浠ヨ涓哄氨鏄被鍨嬭嚜韜殑澶у皬銆傛洿鏀逛竴涓嬩笂闈㈢殑紼嬪簭錛?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽#pragma pack(2)<br />聽union u2<br />聽{<br />聽聽char a[13];<br />聽聽int b;<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽union u3<br />聽{<br />聽聽char a[13];<br />聽聽char b;<br />聽};<br />聽#pragma pack(8)</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽cout<<sizeof(u2)<<endl;聽聽// 14<br />聽cout<<sizeof(u3)<<endl;聽聽// 13</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鐢變簬鎵嬪姩鏇存敼瀵圭晫鏂瑰紡涓?錛屾墍浠nt鐨勫鐣屼篃鍙樻垚浜?錛寀2鐨勫鐣屽彇鎴愬憳涓渶澶х殑瀵圭晫錛屼篃鏄?浜嗭紝鎵浠ユ鏃秙izeof(u2)=14銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 緇撹錛欳++鍥烘湁綾誨瀷鐨勫鐣屽彇緙栬瘧鍣ㄥ鐣屾柟寮忎笌鑷韓澶у皬涓緝灝忕殑涓涓?/font> </p> <p> <br /> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">9銆乻truct鐨剆izeof闂</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鍥犱負瀵歸綈闂浣跨粨鏋勪綋鐨剆izeof鍙樺緱姣旇緝澶嶆潅錛岀湅涓嬮潰鐨勪緥瀛愶細(榛樿瀵歸綈鏂瑰紡涓?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽struct s1<br />聽{<br />聽聽char a;<br />聽聽double b;<br />聽聽int c;<br />聽聽char d;聽<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽struct s2<br />聽{<br />聽聽char a;<br />聽聽char b;<br />聽聽int c;<br />聽聽double d;<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽cout<<sizeof(s1)<<endl;聽// 24<br />聽cout<<sizeof(s2)<<endl;聽// 16</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鍚屾牱鏄袱涓猚har綾誨瀷錛屼竴涓猧nt綾誨瀷錛屼竴涓猟ouble綾誨瀷錛屼絾鏄洜涓哄鐣岄棶棰橈紝瀵艱嚧浠栦滑鐨勫ぇ灝忎笉鍚屻傝綆楃粨鏋勪綋澶у皬鍙互閲囩敤鍏冪礌鎽嗘斁娉曪紝鎴戜婦渚嬪瓙璇存槑涓涓嬶細棣栧厛錛孋PU鍒ゆ柇緇撴瀯浣撶殑瀵圭晫錛屾牴鎹笂涓鑺傜殑緇撹錛宻1鍜宻2鐨勫鐣岄兘鍙栨渶澶х殑鍏冪礌綾誨瀷錛屼篃灝辨槸double綾誨瀷鐨勫鐣?銆傜劧鍚庡紑濮嬫憜鏀炬瘡涓厓绱犮?br />聽聽聽 瀵逛簬s1錛岄鍏堟妸a鏀懼埌8鐨勫鐣岋紝鍋囧畾鏄?錛屾鏃朵笅涓涓┖闂茬殑鍦板潃鏄?錛屼絾鏄笅涓涓厓绱燿鏄痙ouble綾誨瀷錛岃鏀懼埌8鐨勫鐣屼笂錛岀1鏈鎺ヨ繎鐨勫湴鍧鏄?浜嗭紝鎵浠琚斁鍦ㄤ簡8錛屾鏃朵笅涓涓┖闂插湴鍧鍙樻垚浜?6錛屼笅涓涓厓绱燾鐨勫鐣屾槸4錛?6鍙互婊¤凍錛屾墍浠鏀懼湪浜?6錛屾鏃朵笅涓涓┖闂插湴鍧鍙樻垚浜?0錛屼笅涓涓厓绱燿闇瑕佸鐣?錛屼篃姝eソ钀藉湪瀵圭晫涓婏紝鎵浠鏀懼湪浜?0錛岀粨鏋勪綋鍦ㄥ湴鍧21澶勭粨鏉熴傜敱浜巗1鐨勫ぇ灝忛渶瑕佹槸8鐨勫嶆暟錛屾墍浠?1-23鐨勭┖闂磋淇濈暀錛宻1鐨勫ぇ灝忓彉鎴愪簡24銆?br />聽聽聽 瀵逛簬s2錛岄鍏堟妸a鏀懼埌8鐨勫鐣岋紝鍋囧畾鏄?錛屾鏃朵笅涓涓┖闂插湴鍧鏄?錛屼笅涓涓厓绱犵殑瀵圭晫涔熸槸1錛屾墍浠鎽嗘斁鍦?錛屼笅涓涓┖闂插湴鍧鍙樻垚浜?錛涗笅涓涓厓绱燾鐨勫鐣屾槸4錛屾墍浠ュ彇紱?鏈榪戠殑鍦板潃4鎽嗘斁c錛屼笅涓涓┖闂插湴鍧鍙樻垚浜?錛屼笅涓涓厓绱燿鐨勫鐣屾槸8錛屾墍浠鎽嗘斁鍦?錛屾墍鏈夊厓绱犳憜鏀懼畬姣曪紝緇撴瀯浣撳湪15澶勭粨鏉燂紝鍗犵敤鎬葷┖闂翠負16錛屾濂芥槸8鐨勫嶆暟銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 榪欓噷鏈変釜闄烽槺錛屽浜庣粨鏋勪綋涓殑緇撴瀯浣撴垚鍛橈紝涓嶈璁や負瀹冪殑瀵歸綈鏂瑰紡灝辨槸浠栫殑澶у皬錛岀湅涓嬮潰鐨勪緥瀛愶細</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽struct s1<br />聽{<br />聽聽char a[8];<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽struct s2<br />聽{<br />聽聽double d;<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽struct s3<br />聽{<br />聽聽s1 s;<br />聽聽char a;<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽struct s4<br />聽{<br />聽聽s2 s;<br />聽聽char a;聽<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽cout<<sizeof(s1)<<endl;聽// 8<br />聽cout<<sizeof(s2)<<endl; // 8<br />聽cout<<sizeof(s3)<<endl; // 9<br />聽cout<<sizeof(s4)<<endl; // 16;</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 s1鍜宻2澶у皬铏界劧閮芥槸8錛屼絾鏄痵1鐨勫榻愭柟寮忔槸1錛宻2鏄?錛坉ouble錛夛紝鎵浠ュ湪s3鍜宻4涓墠鏈夎繖鏍風殑宸紓銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鎵浠ワ紝鍦ㄨ嚜宸卞畾涔夌粨鏋勪綋鐨勬椂鍊欙紝濡傛灉絀洪棿绱у紶鐨勮瘽錛屾渶濂借冭檻瀵歸綈鍥犵礌鏉ユ帓鍒楃粨鏋勪綋閲岀殑鍏冪礌銆?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">10銆佷笉瑕佽double騫叉壈浣犵殑浣嶅煙</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鍦ㄧ粨鏋勪綋鍜岀被涓紝鍙互浣跨敤浣嶅煙鏉ヨ瀹氭煇涓垚鍛樻墍鑳藉崰鐢ㄧ殑絀洪棿錛屾墍浠ヤ嬌鐢ㄤ綅鍩熻兘鍦ㄤ竴瀹氱▼搴︿笂鑺傜渷緇撴瀯浣撳崰鐢ㄧ殑絀洪棿銆備笉榪囪冭檻涓嬮潰鐨勪唬鐮侊細</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽struct s1<br />聽{<br />聽聽int i: 8;<br />聽聽int j: 4;<br />聽聽double b;<br />聽聽int a:3;<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽struct s2<br />聽{<br />聽聽int i;<br />聽聽int j;<br />聽聽double b;<br />聽聽int a;<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽struct s3<br />聽{<br />聽聽int i;<br />聽聽int j;<br />聽聽int a;<br />聽聽double b;<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽struct s4<br />聽{<br />聽聽int i: 8;<br />聽聽int j: 4;<br />聽聽int a:3;<br />聽聽double b;<br />聽};</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽cout<<sizeof(s1)<<endl;聽聽// 24<br />聽cout<<sizeof(s2)<<endl;聽聽// 24<br />聽cout<<sizeof(s3)<<endl;聽聽// 24<br />聽cout<<sizeof(s4)<<endl;聽聽// 16</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 鍙互鐪嬪埌錛屾湁double瀛樺湪浼氬共娑夊埌浣嶅煙錛坰izeof鐨勭畻娉曞弬鑰冧笂涓鑺傦級錛屾墍浠ヤ嬌鐢ㄤ綅鍩熺殑鐨勬椂鍊欙紝鏈濂芥妸float綾誨瀷鍜宒ouble綾誨瀷鏀懼湪紼嬪簭鐨勫紑濮嬫垨鑰呮渶鍚庛?/font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 絎竴嬈″啓涓滆タ錛屽彂鐜拌嚜宸辯殑琛ㄨ揪鑳藉姏澶樊浜嗭紝鐭ラ亾鐨勪笢瑗胯涓嶅嚭鏉ワ紝璁插嚭鏉ョ殑涓滆タ鍒漢涔熺湅涓嶆噦錛屽懙鍛點傚彟澶栵紝C99鏍囧噯鐨剆izeof宸茬粡鍙互宸ヤ綔鍦ㄨ繍琛屾椂浜嗭紝鎵撶畻鏈榪戞壘涓敮鎸丆99鐨勭紪璇戝櫒鐮旂┒涓涓嬨?/font> </p> <img src ="http://www.shnenglu.com/qjbest/aggbug/7398.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qjbest/" target="_blank">Q</a> 2006-05-19 10:00 <a href="http://www.shnenglu.com/qjbest/archive/2006/05/19/7398.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>緇х畫鍏充簬char *鐨勯敊璇?/title><link>http://www.shnenglu.com/qjbest/archive/2006/05/18/7370.html</link><dc:creator>Q</dc:creator><author>Q</author><pubDate>Thu, 18 May 2006 10:00:00 GMT</pubDate><guid>http://www.shnenglu.com/qjbest/archive/2006/05/18/7370.html</guid><wfw:comment>http://www.shnenglu.com/qjbest/comments/7370.html</wfw:comment><comments>http://www.shnenglu.com/qjbest/archive/2006/05/18/7370.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qjbest/comments/commentRss/7370.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qjbest/services/trackbacks/7370.html</trackback:ping><description><![CDATA[ <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">/********閿欒紼嬪簭********/<br />void key(char *p)<br />{<br />聽p="ac";<br />} </font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">int main()<br />{<br />聽char *p="d";<br />聽cout<<p<<endl;<br />聽key(p);<br />聽cout<<p<<endl;<br />聽delete p;<br />}<br />//璇ョ▼搴忓彧杈撳嚭 "d"<br />/***********************/<br /><br />/*******姝g‘紼嬪簭*******/<br />void key(char *p)<br />{<br />聽strcpy(p,"ac");<br />} </font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">int main()<br />{<br />聽char *p=new char[5];<br />聽strcpy(p,"e");<br />聽cout<<p<<endl;<br />聽key(p);<br />聽cout<<p<<endl;<br />聽delete[] p;<br />}<br />鍏堣緭鍑?"e",鍐嶈緭鍑?ac"<br />/**********************/<br /><br />==================================<br />絎竴涓▼搴忥細<br />char *p="d";//p鎸囧悜甯擱噺瀛楃涓?br />聽cout<<p<<endl;<br />聽key(char *p) //璇曞浘鏀瑰彉p錛岃娉曟棤璇紝浣嗛昏緫涓嶅厑璁革紝鏁呯紪璇戞紜紝榪愯閿欒銆傚湪紼嬪簭緙栬瘧鐨勬椂鍊欙紱 void key(char *p)綾諱技琚В閲婃垚錛歷oid key(const char *p){p="ac";}<br /><br />絎簩涓▼搴忥細<br />char *p = new char[100];//p鎸囧悜鏁扮粍鐨勯鍦板潃錛屽唴瀹瑰彲鍙?br />聽strcpy(p, "d");//鍐呭鍙樹負鈥渄鈥?br />聽cout<<p<<endl;<br />聽key(p);//鍐呭鍙樹負鈥渁c鈥濓紝strcpy錛堬級涓嶆敼鍙樺畠鐨勫湴鍧錛屽彧鏀瑰彉p鎵鎸囩殑鏁扮粍鐨勫唴瀹癸紝鏁呰緭鍑轟負ac<br />C椋庢牸瀛椾覆涓嶆敮鎸佺洿鎺ヨ祴鍊鹼紝瑕佷嬌鐢╯trcpy()銆?br /><br /></font> </p> <img src ="http://www.shnenglu.com/qjbest/aggbug/7370.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qjbest/" target="_blank">Q</a> 2006-05-18 18:00 <a href="http://www.shnenglu.com/qjbest/archive/2006/05/18/7370.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍐嶆鍏充簬C椋庢牸瀛楃涓茬殑鍑犱釜灝忛棶棰?/title><link>http://www.shnenglu.com/qjbest/archive/2006/05/17/7295.html</link><dc:creator>Q</dc:creator><author>Q</author><pubDate>Wed, 17 May 2006 02:18:00 GMT</pubDate><guid>http://www.shnenglu.com/qjbest/archive/2006/05/17/7295.html</guid><wfw:comment>http://www.shnenglu.com/qjbest/comments/7295.html</wfw:comment><comments>http://www.shnenglu.com/qjbest/archive/2006/05/17/7295.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qjbest/comments/commentRss/7295.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qjbest/services/trackbacks/7295.html</trackback:ping><description><![CDATA[ <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">鍊掓帀錛屼弗閲嶅掓帀錛屼笉閫氳繃榪欐鍐欑▼搴忥紝榪樼湡涓嶇煡閬撹嚜宸辯姱浜嗕釜姣旇緝澶稿紶鐨勯敊璇?img height="20" src="http://www.shnenglu.com/Emoticons/QQ/01.gif" width="20" border="0" /><br />======================================================<br />char a[6];聽聽聽聽聽聽聽聽聽聽聽聽 //闇瑕佸a璧嬪?br />strcpy(a,"hello");聽聽 //姝g‘<br />a="hello";聽聽聽聽聽聽聽聽聽聽聽聽 //閿欒<br /><br />鍙﹀錛屽浜庡瓧涓叉暟緇勭殑鍒濆鍖?br />char a[6]={0x00}; //姝g‘<br />char a[6]="\0";聽聽聽聽聽聽 //姝g‘<br />char a[6]="hello";聽聽 //姝g‘<br />char a[6]={"hello"}; //姝g‘<br />char a[5]={'h','e','l','l','o'}; //姝g‘<br /><br />瀵逛簬錛?br />char a[6];聽 <br />a[0]={0x00} //閿欒<br />姝g‘鏂規硶濡備笅錛?br />char a[6];<br />聽memset(a,0x00,sizeof(a)); </font> </p> <img src ="http://www.shnenglu.com/qjbest/aggbug/7295.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qjbest/" target="_blank">Q</a> 2006-05-17 10:18 <a href="http://www.shnenglu.com/qjbest/archive/2006/05/17/7295.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>杞笘 銆婄▼搴忓憳銆嬫帹鑽怌++ 鍥句功涓変漢璋?/title><link>http://www.shnenglu.com/qjbest/archive/2006/05/09/6827.html</link><dc:creator>Q</dc:creator><author>Q</author><pubDate>Tue, 09 May 2006 08:51:00 GMT</pubDate><guid>http://www.shnenglu.com/qjbest/archive/2006/05/09/6827.html</guid><wfw:comment>http://www.shnenglu.com/qjbest/comments/6827.html</wfw:comment><comments>http://www.shnenglu.com/qjbest/archive/2006/05/09/6827.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qjbest/comments/commentRss/6827.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qjbest/services/trackbacks/6827.html</trackback:ping><description><![CDATA[ <table id="table11" cellspacing="0" bordercolordark="#ffffff" cellpadding="0" width="100%" bordercolorlight="#c0c0c0" border="1"> <tbody> <tr> <td bgcolor="#dfdfdf" height="23"> <font style="BACKGROUND-COLOR: #ffffff" color="#000000"> </font> </td> </tr> <tr> <td> <div align="center"> <table id="table12" cellspacing="0" cellpadding="0" width="98%" border="0"> <tbody> <tr> <td> <table id="Table99" style="TABLE-LAYOUT: fixed; WORD-WRAP: break-word" cellspacing="0" cellpadding="0" width="572" border="0"> <tbody> <tr> <td> <div align="center"> <table id="table100" cellspacing="0" cellpadding="0" width="98%" border="0"> <tbody> <tr> <td> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">涓繪寔浜猴細鐔婅妭錛堥忔槑錛夛紝銆婄▼搴忓憳銆嬫潅蹇楃紪杈戯紝C-View鎴愬憳<br />鍢壜犅犅犲錛氬瓱宀╋紙姊﹂瓏錛?鑱旀兂鍏徃鎺屼笂璁懼浜嬩笟閮ㄥ簲鐢ㄥ紑鍙戝浠昏亴錛孋-View鎴愬憳銆備笌渚嵎鍏堢敓鍚堣瘧浜嗐奀++聽Standard聽Library銆嬩竴涔?br />聽聽聽聽聽聽聽聽閲戝骯錛堟伓欖旓級錛屼笂嫻峰ぉ瀹囧叕鍙窩TO錛屽湪銆婄▼搴忓憳銆嬭繛杞芥湁鈥滆嚜鐢變笌綣佽崳鐨勫浗搴︹濈郴鍒楁枃绔?</font> <p> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛氣滃C++鐢ㄥ摢鏈功鍏ラ棬鈥濓紝榪欐槸琚棶寰楁渶澶氱殑涓涓棶棰樸備絾鏄摢涓鏈功鏄渶濂界殑鍏ラ棬涔︼紵浼間箮寰堥毦鎵懼埌絳旀銆傘奀++聽Primer銆嬪お鍘氾紝銆奅ffective聽C++銆嬪璇昏呰姹傛瘮杈冮珮錛屻奅ssential聽C++銆嬪張甯稿父琚壒璇勪負鈥滃お嫻呪濄?br />鍏跺疄璇寸┛浜嗭細no聽silver聽bullet銆傛兂浠庝竴鏈功瀛︿細C++錛岄偅鏄笉鍙兘鐨勩傛湁鏈嬪弸闂垜濡備綍瀛++錛屾垜浼氬緩璁粬鍏堝幓鎵炬湰鏁版嵁緇撴瀯涔︼紝鎶婇噷闈㈢殑涔犻鍏ㄩ儴鐢–++鍋氫竴閬嶏紝鐒跺悗鍐嶅幓鐪嬨奅ffective聽C++銆嬨俶yan緇忓父璇粹滆鍦ㄥ涔犲垵鏈熷吇鎴愬ソ涔犳儻鈥濓紝鎴戝姝ら涓嶄互涓虹劧銆?br />涓漢璁や負錛屻奅ssential聽C++銆嬮傚悎浣滄暀鏉愶紝銆奀++聽Primer銆嬮傚悎浣滃弬鑰冧功錛屻奅ffective聽C++銆嬮傚悎浣滆澶栬鐗┿?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">鎭墮瓟錛氬緢鍚庢倲褰撳垵涔頒簡銆奀++聽Primer銆嬨傚洜涓轟粠鎴戜釜浜鴻搴︽潵鐪嬶紝瀹冪殑鍔熻兘鏁堢敤鍩烘湰鏄拰銆奣he聽C++聽Programming聽Language銆嬮噸鍚堛傚綋鐒跺浜庡叆闂ㄦ潵璇達紝瀹冭繕鏄緢涓嶉敊鐨勩備絾鏄奀++聽Primer銆嬪お鍘氾紝涓鏉ュ鑷寸湅涔︽瀬鍏朵笉鏂逛究錛屼簩鏉ョ郴緇熷涔犻渶瑕佽姳姣旇緝闀跨殑鏃墮棿銆傚浜庣洰鍓嶈繖涓秺鏉ヨ秺蹇鍖栫殑鏃朵唬鏉ヨ錛岀殑紜湁寰堝涓嶉傚悎鐨勫湴鏂癸紝涓嶈繃鍙互浣滀負鍒濆鑰呯殑鍙傝冧功銆傜幇鍦ㄦ垜浠ヤ竴鍧桲3聽CPU鐨勪唬浠鋒妸瀹冨熺粰浜嗗埆浜猴紝甯屾湜鎴戦偅浣嶅悓浜嬭兘澶熶粠涓緱鍒頒竴浜涚泭澶勩?br />濡傛灉宸茬粡鍏峰浜咰鍩虹錛屾垜寤鴻鐪嬪浗鍐呯殑涔︼紝渚嬪閽辮兘鐨勩娐燙++澶у鏁欑▼錛堢浜岀増錛壜犮嬨?濡傛灉娌℃湁C鐨勫熀紜榪樻槸鐪嬭礙嫻╁己鐨凜璇█)銆傝繖鏈功瀵笴璁插緱榪樼畻姣旇緝娓呮櫚錛屾湁寰堝涔犻鍊煎緱涓鍋氾紝鐗瑰埆鏄渶鍚庣殑struct鍜寀nion涓や釜閮ㄥ垎銆傚叾涓殑涓浜涚畻娉曟瘮杈冩嫋娌撳拰綣佺悙錛堟瘮濡傛爲鍜岄摼琛ㄧ殑閬嶅巻綆楁硶錛夛紝璇昏呭彲浠ュ皾璇曚慨鏀硅繖浜涗緥瀛愶紝浣滀負鏈鍚庡C璇█鐨勪竴浜涙葷粨嫻嬭瘯銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">姊﹂瓏錛氳繖涓棶棰樿鎴戞兂璧峰洓浜斿勾鍓嶇殑鎯呭艦銆備粖澶╁浜嶤++鏈変竴鐐硅璇嗙殑浜猴紝澶氬崐鏄粠閭e嚑騫村氨寮濮嬪C++浜嗐傞偅鏃舵牴鏈病鏈夊搧鐗岃蹇點備粠涔﹀簵閲屾壘涓鏈珻++涔︼紝濡傛灉鐪嬬潃榪樼畻鏄庣櫧錛屽氨涔頒笅鏉ャ傛垜璁板緱閭f椂鍊欏疀寤墮椏銆佸紶鍥介攱銆侀害涓嚒鏁欐巿鐨勪功閮藉彈鍒板緢楂樼殑璧炶獕銆傛垜涓漢鏈鏃╃殑涓鏈珻++涔︽槸Greg聽Perry鐨勪竴鏈功錛屼粖澶╂兂璧鋒潵錛屽叾瀹炴槸涓鏈墦鐫C++鏃楀彿鐨凜璇█鏁欑▼銆傚鎴戜綔鐢ㄦ渶澶х殑涓鏈功鏄浗闃茬鎶鍑虹増紺懼嚭鐗堢殑涓鏈功錛屼功鍚嶈涓嶅緱浜嗭紝浣滆呭彨鏂拏鑺峰竷鑾卞搱銆?br />閫忔槑錛氳繕璁板緱浠ュ墠鏇炬壒璇勮繃涓鏈珻++涔︼紝鏄寳鑸嚭鐨勶紝鏁存湰涔﹀氨娌℃湁鍑虹幇榪嘽lass鍏抽敭瀛椼傞偅鏈功錛岃絀夸簡鍏跺疄鍙槸浠嬬粛浜咰璇█鍜宨ostream搴撶殑鐢ㄦ硶錛屾牴鏈笉鑳界畻C++銆傝屽綋鏃舵垜甯稿父鎺ㄨ崘鐨勪竴鏈功鏄數瀛愮鎶澶у寮犳澗姊呰佸笀鐨凜++鏁欑▼銆傞偅鏈功錛岀洿鍒頒粖澶╂潵鐪嬩篃娌℃湁澶ぇ鐨勯棶棰橈紝鍞竴鐨勭己鎲懼氨鏄敱浜庡勾浠d箙榪滐紝璁稿涓滆タ宸茬粡榪囨椂浜嗐傝屽浜庝竴鏈妧鏈功綾嶆潵璇達紝鈥滆繃鏃垛濇槸鏈涓嶅彲鎺ュ彈鐨勩?br />鎬諱綋鏉ヨ錛岄偅鏃朵嬌鐢–++鐨勪漢鐪熸槸鍦ㄢ滅洸浜烘懜璞♀濄備笉榪囪繖涔熸湁濂藉錛屽氨鏄C++鐨勫緢澶氱粏鑺傝兘鎼炴竻妤氾紝浠ュ悗鐪嬪埌緇忓吀濂戒功鏃舵瘮杈冨鏄撶悊瑙o紱褰撶劧鍧忓灝辨槸姒傚康涓嶆竻錛岀敋鑷抽兘涓嶇煡閬揅++鍜孷isual聽C++銆丅orland聽C++鍒板簳鏈変粈涔堜笉涓鏍楓?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">姊﹂瓏錛氭暣涓?0騫翠唬錛屽叾瀹炲ぇ閮ㄥ垎浜哄浜嶤++鐨勮璇嗛兘浼兼槸鑰岄潪銆備竴寮濮嬫槸絳夊悓浜嶣orland聽C++錛屽悗鏉ユ槸絳夊悓浜嶸isual聽C++鍜孧FC銆傛墍浠ヤ竴鑸潵璇達紝鎵撶潃BC鍜孷C鏃楀彿鐨勪功鍗栧緱寰堝ソ錛屼漢浠寰楄繖灝辨槸C++銆傝屾垜姣旇緝騫歌繍錛屽竷鑾卞搱鐨勯偅鏈功铏界劧浠庣幇鍦ㄧ殑鐪煎厜鏉ョ湅璋堜笉涓婇珮瓚咃紝浣嗗熀鏈礬瀛愭槸瀵圭殑銆傚彲鑳芥槸鍥犱負鍘熶功鏄粰UNIX紼嬪簭鍛樼殑鍩硅鏁欐潗錛屾墍浠ユ病鏈夎鎴戜竴寮濮嬪氨褰㈡垚鈥淐++聽==聽VC++鈥濈殑璁よ瘑銆?br />鍏跺疄涓鐩村埌1996騫達紝鎴戜滑閭i噷鎼炶綆楁満鐨勯兘鏄敮Borland聽C++椹鏄灮鐨勶紝鍒頒簡VC聽4.0鍑烘潵錛屼竴涓嬪瓙鏍煎眬鍏ㄥ彉浜嗐?997騫碫C5鎺ㄥ嚭涔嬪悗錛屼功搴楅噷MFC涔﹂摵澶╃洊鍦幫紝瀛FC鐨勪漢錛屽ご鎶緱閮芥瘮鍒漢楂樹竴浜涖備笉榪囩幇鍦ㄧ湅鏉ワ紝閭f椂鍊欏ぇ閮ㄥ垎鐨凪FC涔﹂兘鏄笁嫻佽揣鑹層傛垜鏇劇粡鏈変竴孌墊椂闂磋涓猴紝閭d竴鎵圭▼搴忓憳涓棿鏈変笉灝戣璇浜嗐傛牴鏈師鍥犲氨鏄浉瀵圭殑灝侀棴銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛氭垜瑙夊緱涓鏈功鐨勪環鍊兼湁涓ゆ柟闈細絎竴錛屾暀緇欎綘瀹炵敤鐨勬妧鏈紱絎簩錛屼績浣夸綘鍘繪濊冦傚浜庝竴鏈粙緇峍C錛堟垨鑰呰MFC錛変嬌鐢ㄦ柟娉曠殑涔︼紝鎴戞牴鏈笉甯屾湜瀹冭兘淇冧嬌鎴戞湁浠涔堟濊冿紝鎵浠ユ垜灝變竴瀹氳姹傚畠鍦ㄦ妧鏈笂綺劇泭姹傜簿瀹岀編鏃犵憰銆傛垜鍒氬紑濮嬬敤VC鐨勬椂鍊欙紝涔扮殑絎竴鏈功灝辨槸娼樼埍姘戣佸笀緲昏瘧鐨勩奦C鎶鏈唴騫曘嬶紙絎洓鐗堬級錛屾病鏈夊彈鍒伴偅浜涒滀笁嫻佽揣鑹測濈殑璇錛屽簲璇ヨ鏄緢騫歌繍鐨勩?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">姊﹂瓏錛?999騫存満姊板伐涓氬嚭鐗堢ぞ寮濮嬪嚭鐗堚滆綆楁満縐戝涓涗功鈥濓紝鍏朵腑鐨勩奣hinking聽in聽C++銆嬬涓鐗堝彈鍒頒簡騫挎硾鐨勬榪庛傚叾瀹炴垜涓鐩翠笉璁や負榪欐湰涔﹀緢鍑鴻壊錛岃櫧鐒舵嬁榪囦竴嬈″ぇ濂栥傜劧鑰屾垜浠兘寰楁壙璁わ紝榪欐湰涔﹀湪C++涔︾睄棰嗗煙閲岀涓嬈″緩绔嬩簡鍝佺墝瑙傚康錛屽緢澶氬垵瀛﹁呭紑濮嬬煡閬擄紝涓嶆槸闅忎究涔板摢涓鏈兘涓鏍風殑銆傚啀寰鍚庡氨鏄?000騫寸殑銆娐犳繁鍏ユ祬鍑篗FC錛堢浜岀増錛壜犮嬬浜岀増錛屼互鍙婁警鍏堢敓鍦ㄣ婄▼搴忓憳銆嬩笂鍙戣〃鐨勯偅涓綃囥奀++/OOP澶х郴銆嬶紝鍔犱笂鏁翠釜澶х幆澧冪殑鍙樺寲錛屽搧鐗岃蹇墊繁鍏ヤ漢蹇冿紝C++涔︾睄甯傚満緇堜簬寮濮嬮愭笎涓庝笘鐣屽悓姝ャ?br />鍥炴兂寰浜嬶紝鎴戠殑鎰熻鏄紝閭d釜闇瑕佹垬鎴樺參鍏㈤夋嫨鍏ラ棬涔︾殑鏃朵唬宸茬粡榪囧幓錛屼粖澶╃殑C++鍒濆鑰咃紝澶у彲浠ユ斁蹇冨湴涔板彛紕戝ソ銆佽嚜宸辮璧鋒潵鎬濊礬欏虹晠鐨勪功錛屽叆闂ㄤ笉鍐嶆槸澶ぇ鐨勯棶棰樸傝繕鏈変竴浜涚▼搴忓憳宸茬粡瀛︿簡鍑犲勾C++錛屼絾鐪嬪埌浠婂ぉ鍑虹増鐨勪竴浜涙柊涔︼紝鎰熻姣旇緝闄岀敓錛岃繖涔熶笉鏄粈涔堥棶棰樸備警鍏堢敓緇忓父璇粹滃嚒璧拌繃蹇呯暀涓嬭凍榪光濓紝鎵璋撯滆蛋寮礬鈥濓紝鏈繀涓嶆槸涓浠跺ソ浜嬨?br />鑷充簬鍏蜂綋鐨勬帹鑽愯〃錛屽氨涓嶅ソ涓姒傝岃浜嗐傛諱箣鍦ㄦ垜鐨勫嵃璞¢噷錛屻奅ssential聽C++銆嬨併奀++聽Primer銆嬨侀挶鑳芥暀鎺堢殑C++鏁欑▼錛岄兘涓嶉敊銆傜敋鑷蟲湁浜轟竴涓婃潵灝辯湅Bjarne聽Stroustrup鐨勩奣he聽C++聽Programming聽Language銆嬶紝鍙浠栧枩嬈紝涔熸病浠涔堜笉鍙互銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛氭垜鍚屾剰浣犵殑瑙傜偣銆備笉綆℃庝箞璇達紝緙栫▼鏄棬瀹炶返鎬ч潪甯稿己鐨勫闂傝鎯沖C++瀵硅薄妯″瀷鏈夋繁鍏ョ殑浜嗚В錛屾渶濂界殑鍔炴硶灝辨槸鍐欎竴涓茬▼搴忓幓鐪嬬粨鏋滐紱瑕佹兂瀛︿細OOP錛屼篃鍙兘浠庨」鐩腑瀛︺傚浜庡垵瀛﹁咃紝鏈濂界殑瀛︿範鏂規硶灝辨槸涓嶅仠鍦板啓紼嬪簭錛屽啓鐪熸鏈夌敤鐨勭▼搴忥紝鍐欏埌鏈夐棶棰樼殑鏃跺欏氨鍘繪煡涔︼紝浜庢槸鑷劧灝變細鐭ラ亾鍝湰涔﹀ソ鍝湰涔︿笉濂姐備笉榪囨垜浠殑鏁欒偛鍒跺害鑳戒笉鑳借澶у閲岀殑瀛︾敓浠湁榪欐牱鐨勫涔犳満浼氾紝鎴戣〃紺烘鐤戙?br />浠ユ垜鐨勭粡楠岋紝瀛++鏈変袱涓棬妲涳細鍏ラ棬鍜屼嬌鐢ㄣ傚畬鍏ㄧ湅涓嶆噦C++錛岃繖鏄竴涓棬妲涳紝浣嗘槸鍙鏈変竴鏈悎閫傜殑鍏ラ棬涔︼紝寰堝揩灝辮兘璺ㄨ繃銆傝鎯崇湡姝g敤涓奀++錛屽嵈涓嶆槸浠跺緢瀹規槗鐨勪簨鎯呫傚挨鍏跺浜庡鐢熸潵璇達紝鎺ヨЕ鍒扮殑涓滆タ澶氭槸鈥滅帺鍏封濓紝寰堥毦鏈夊疄鎴樼殑鏈轟細銆傛墍浠ョ粡甯哥湅瑙佹湁浜洪棶鈥淐++鍒板簳鑳藉仛浠涔堚濓紝榪欐槸C++瀛︿範涓竴涓瘮杈冮夯鐑︾殑闂銆傛垜浠兘鏄仛浜嗙浉褰撻暱鏃墮棿鐨凜++紼嬪簭涔嬪悗鎵嶇湅鍒頒竴浜涚湡姝g粡鍏哥殑涔︼紝涔熸鏄洜涓鴻蛋浜嗙浉褰撻暱鐨勫集璺箣鍚庢墠鐭ラ亾榪欎簺涔︾殑緇忓吀涔嬫墍鍦ㄣ傛墍璋撳集璺紝鎴戞兂涔熸槸涓縐嶅繀欏葷殑縐瘡銆傚氨綆椾竴寮濮嬪氨鐪嬨奅ssential聽C++銆嬪拰銆奀++聽Primer銆嬶紝娌℃湁涓や笁騫寸殑鏃墮棿鎭愭曡繕鏄毦鏈夋墍寰椼?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">鎭墮瓟錛氭湁涓ゅ彞鍗佸垎鏈夐亾鐞嗙殑璇濓紝涓鏄垜澶у鐨凜璇█鑰佸笀璇寸殑鈥滃啓紼嬪簭涓嶅璇存槸鎶勭▼搴忊濓紝鍙︿竴鍙ユ槸涓緗戝弸璇寸殑鈥滃ソ鐨勮璁℃潵鑷熼壌錛屽ぉ鎵嶇殑璁捐鏉ヨ嚜鍓界獌鈥濄傚浜庢垜榪欎釜鐞嗘ф壒鍒や富涔夎呮潵璇達紝榪欎袱鍙ヨ瘽鐨勭‘涓嶅お閫傚悎銆備絾鏄棤璁轟粠鍝釜瑙掑害鏉ヨ錛屽浜庡垵瀛﹁呮潵璇達紝鍓界獌澶у笀鐨勪綔鍝佹槸閫氬悜鎴愬姛鐨勬渶蹇嵎寰勩?br />鎴戜釜浜鴻涓猴紝瀵逛簬C++鐨勫垵瀛﹁呮潵璇達紝棣栧厛瑕佺‘瀹氳嚜宸變笓涓氶鍩熷唴涓昏浣跨敤鐨勭壒鎬х殑鏂瑰悜銆傚洜涓篊++鐨勭壒鎬у姝や紬澶氾紝鍒濆鑰呮兂璐鍩烘湰鏄笉鍙兘鎴愬姛鐨勩侰++鐨勭紪紼嬭寖寮忓熀鏈彲浠ュ垎涓篈DT+PP銆丟P鍜孫O涓変釜鏂瑰悜銆傚浜嶢DT+PP鑼冨紡鏉ヨ錛屽垵瀛﹁呯殑涓昏闂涓嶆槸瀛︿範C++錛岃屾槸瀛︿範C鐨勪嬌鐢ㄣ傚浜庤繖鏍風殑鍒濆鑰咃紝鍥藉唴鐨勫嚑鏈功榪樻槸鍐欏緱姣旇緝娓呮錛岀鍚堜腑鍥戒漢鐨勪範鎯紝姣斿璋旦寮虹殑銆奀璇█鏁欑▼銆嬨侀挶鑳界殑銆奀++璇█澶у鏁欑▼銆嬨傝繖涓ゆ湰涔︽垜棣栨帹絎竴鏈紝鍥犱負榪欎竴鏈垜娼滃績鐮旂┒浜嗕竴騫達紝榪欐湰涔﹀綋涓緢澶氱▼搴忔槸鍙互鍓界獌鐨勶紝鑰屼笖鍙互瀵硅繖浜涚▼搴忚繘琛屽姞宸ュ拰鎻愬崌銆傛瘮濡傜粨鏋勮繖涓绔犱腑錛屽畠鎵緇欏嚭鐨勭敤struct鏉ュ疄鐜伴摼琛ㄣ佷簩鍙夋爲鐨勭畻娉曟槸鐩稿綋韞╄剼鐨勩傚涔燗DT+PP鐨勫垵瀛﹁呭皢榪欐湰涔︽彛鎽╅忎互鍚庡彲浠ュ皾璇曚慨鏀硅繖涓や釜紼嬪簭銆傚彟澶栬繖鏈功鐨勭浜岀増紼嶅井娑夊強浜嗕竴浜涘叧浜庘滅被鈥濈殑鍐呭銆傚涔燗DT+PP鐨勫垵瀛﹁咃紝鍙互涓嶈OO涓殑涓浜涗笓鏈夌壒鎬ф壈涔辮嚜宸辯殑鎬濊礬錛屽浜庣被灞傛鎵佸鉤銆佹棤緇ф壙銆佹棤澶氭佺殑紼嬪簭緙栧啓鏄湁寰堝ぇ濂藉鐨勩?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛氫綘濂借薄姣旇緝鎺ㄥ磭鍥藉唴鏁欐巿鍐欑殑涔︺傜幇鍦ㄧぞ浼氫笂鏈夌涓嶅ソ鐨勯姘旓細涓鎹у氨鎹т笂澶╋紝涓璐氨璐笅鍦般傚氨濂借薄瀵瑰緟璋暀鎺堢殑涔︼紝鍓嶅嚑騫存槸濂変負緇忓吀錛岃繖鍑犲勾鍙堟湁寰堝浜轟嬌鍔叉壒璇勩傚C++鏇存槸鏈夌偣鈥滃磭媧嬪獨澶栤濓紝鎬繪槸瑙夊緱鍒濆灝卞簲璇ョ湅銆奅ssential聽C++銆嬨傛垜鐪嬭繖縐嶈鐐逛篃鏄墖闈㈢殑銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">鎭墮瓟錛氬綋鐒躲奅ssential聽C++銆嬩篃鍊煎緱鐪嬬湅銆備絾鏄垜涓漢瑙夊緱榪欐湰涔︽病鏈夎礙嫻╁己鐨勩奀璇█鏁欑▼銆嬫潵寰楀ソ銆備富瑕佸師鍥犳槸錛氱涓錛孋++鐨勬墍鏈夌壒鎬ч兘鐐瑰埌浜嗭紝浣嗘槸涓嶆繁錛岀湅浜嗕互鍚庝細涓夊績浜屾剰娌℃湁鏂瑰悜錛涚浜岋紝鍙互鎶勮鍊熼壌鐨勪緥瀛愬お灝戙傘奀璇█鏁欑▼銆嬩腑鏈夊緢澶氭湁瓚g殑闂錛屾瘮濡傜尨瀛愬悆妗冦佹眽璇哄絳夌瓑錛岃繖浜涗緥瀛愬浜庡垰鍒氭秹鍙奀/C++璇█緙栫▼鐨勪漢鏉ヨ鏄涔犵紪紼嬪緢濂界殑渚嬪瓙銆傘奅ssential聽C++銆嬪彧鑳芥槸鍓嶄袱鏈功鐪嬮忎互鍚庯紝浣滀負瀛︿範C++鐗規х殑涓涓繃娓℃х殑涔︾睄銆傝璇昏呯湡姝i鐣ュ埌浠涔堟槸C++鐨勭紪紼嬨佸拰C緙栫▼鐨勪笉鍚岀偣鍦ㄥ摢閲屻?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛氭垜鍙戠幇涓涓緢鏈夎叮鐨勭幇璞★細鍒濆鑰呭線寰鍠滄闂滃摢鏈功姣旇緝濂解濓紝榪欒鎴戝緢鏄笉瑙c傝繖鏈夌偣鍍忎竴涓垰瀛︽墦綃悆鐨勪漢闂滅帇娌婚儏鍜岀姣旇皝姣旇緝鍘夊鈥濄傚綋鐒剁姣旀洿鍘夊涓浜涖備絾濡傛灉浣犳槸鎯沖鎵撶鐞冿紝榪欎袱涓漢閮介潪甯擱潪甯告湁璧勬牸鏁欎綘錛屼綘璺熻皝瀛﹂兘鑳藉寰楀緢寮衡斺斿叧閿笉鏄湪浜庝綘閫夊摢涓佸笀錛岃屾槸鍦ㄤ簬浣犺嚜宸辯敤澶氬皯鍔熷か鍘誨銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛氬洖鍒板師鏉ヨ瘽棰樸傚浼氫簡C++鐨勮娉曪紝鑳界湅鎳侰++浠g爜涔嬪悗錛屽繀欏繪湁浜涗功鏉ユ寚瀵艱繘闃訛紙鎴栬呭彨鎸囩偣榪鋒觸錛夈傛垜瑙夊緱銆婅璁℃ā寮忋嬪緢濂斤紝鑳藉璁╄鑰呯湅鍒頒竴浜涚簿濡欑殑鐢ㄦ硶銆備笉榪囨濡傛垜緇忓父璇寸殑錛屾ā寮忓甫鏉ョ殑楹葷儲鍜屽ソ澶勪竴鏍峰錛岀敋鑷抽夯鐑﹁繕瑕佹洿澶氥傝屼笖錛孋++鏈韓鐨勯棶棰樹嬌寰楀湪C++涓嬌鐢℅oF妯″紡鎰堝姞楹葷儲銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">姊﹂瓏錛氥奃esign聽Patterns銆嬭繖鏈功緇濆鏄笉鍙互娌℃湁鐨勶紝鑰屼笖涓嫳鏂囩増閮戒笉鍙皯銆傛渶鍒濇垜鐪嬩腑鏂囩増錛岃瀹炶瘽鐪嬩笉鎳傦紝浣嗘槸涔熶笉瑙夊緱浜哄緲昏瘧寰椾笉濂斤紝鎵浠ュ氨鎯籌紝澶ф鏄師鏂囧氨寰堥毦鎳傦紝鍔犱笂鑷繁姘村鉤鏈夐檺銆備簬鏄繪槸鎯崇潃鍐嶆壘鍑犳湰patterns鐨勪功鏉ョ湅銆傚悗鏉ユ壘鍒板嚑鏈功錛屽彛紕戣繕涓嶉敊錛屼笉榪囨按騫抽珮涓嬶紝涓姣斿氨鍑烘潵浜嗭紝榪樻槸閭f湰銆奃esign聽Patterns銆嬫渶緇忓吀錛屾渶鑰愮湅銆傝嫳鏂囩増鍑烘潵涔嬪悗錛屼袱涓増鏈鐓х湅錛屾槑鐧藉浜嗐傜幇鍦ㄨ寰楋紝鍏跺疄灝辮璁℃ā寮忔潵璁詫紝鎶婅繖鏈湅鏄庣櫧浜嗗氨寰堜笉閿欎簡錛屼笉鐢ㄥ啀鑺辮垂寰堝蹇冩濇壘鍏朵粬鐨勪功銆傛垜鐜板湪鐨勫寘閲屽緇堝す鐫榪欐湰涔︼紝闅忚韓鎼哄甫錛屾湁澶囨棤鎮c?br />鑷充簬璇磋璁℃ā寮忕殑鍓綔鐢紝鍜屽彲鑳藉甫鏉ョ殑寮婄錛屾垜鐨勪綋浼氫篃鎸哄銆備笉榪囨槸榪欐牱錛屾垜浠兂涓鎯籌紝絀剁珶浠涔堟儏鍐典笅璁捐妯″紡鍙互鐢ㄥ緱寰堝ソ鍛紵涓縐嶆槸鏈夌粡楠屼赴瀵岀殑浜哄紩瀵鹼紝姣斿瑕佹槸Robert聽Martin甯﹂槦錛屼綘鍦ㄦ煇涓湴鏂圭敤閿欎簡璁捐妯″紡錛屼粬灝變細鎸囧嚭鏉ワ紝璇磋繖閲屼笉瀵癸紝灝嗘潵浼氫駭鐢熶粈涔堟牱鐨勫紛绔傚浜庝粬鏉ヨ錛屼赴瀵岀殑瀹炶返緇忛獙瓚充互鏀寔浠栬繘琛屸滈嫻嬪瀷鈥濊璁°備絾鏄ぇ閮ㄥ垎浜烘病榪欎釜鑳藉姏錛屽洜姝ゆ垜浠彧濂借蛋絎簩鏉¤礬鍜岀涓夋潯璺紝灝辨槸鈥滆瘯鎺㈠瀷鈥濊璁″拰鈥滈噸鏋勫瀷鈥濊璁°傞亣鍒頒竴涓棶棰橈紝浣犺寰楃敤鏌愮妯″紡鎸哄悎閫傜殑錛屽氨澶ц儐鍦扮敤浜嗭紝鎴愬姛鏄Н绱粡楠岋紝鍙戠幇涓嶅ソ錛屽嚭浜嗛棶棰樹簡錛屽彧濂芥敼鍥炴潵錛岄偅涔熸槸縐瘡鏁欒銆傝繖鍙仛鈥滆瘯鎺㈠瀷鈥濄傝嚦浜庨噸鏋勶紝搴旇綆楁槸鏈鏈夌粍緇囥佹垚鍔熺巼鏈楂樼殑宸ョ▼鍖栨柟娉曘傚厛鎶婇棶棰樷渜uick聽and聽dirty鈥濆湴瑙e喅浜嗭紝鎵鏈夌殑鏆楃閮芥毚闇插嚭鏉ワ紝鐒跺悗鍐嶆牴鎹疄闄呮儏鍐甸噰鐢ㄥ悎閫傜殑妯″紡浼樺寲璁捐銆傜幇鍦╔P鍜孶P閮介珮搴﹂噸瑙唕efactory錛孶P鍦‥laboration鍜孋onstruction闃舵閮介紦鍔辨娊鍑轟笓闂ㄧ殑iterations榪涜閲嶆瀯銆傛墍浠ヨ濡傛灉緇勭粐蹇熺殑杞歡寮鍙戯紝褰撶劧姣旇緝鍊懼悜浜庤繖鏉¤礬鈥斺旀墦鎴愬姛鐜囧槢銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛氳鍒伴噸鏋勶紝鎴戦『渚胯璇淬奟efactoring銆嬭繖鏈功鐨勫獎鍝嶃備粠宸ョ▼鏈韓鐨勮搴︽潵璇達紝浣犳墍璋撶殑鈥滈噸鏋勫瀷璁捐鈥濇槸娌℃湁浠涔堥棶棰樼殑銆備絾涓浗鐨勫紑鍙戣咃紙涔熷寘鎷垜鍦ㄥ唴錛夊線寰姣旇緝鍐插姩錛屾瘮杈冨鏄撶浉淇¢摱寮圭殑瀛樺湪銆傛浘緇忔湁閭d箞涓孌墊椂闂達紝鎴戝湪Java涓皾璇曡繃浜嗛噸鏋勭殑鏂規硶涔嬪悗錛屽張鎷垮埌C++涓幓灝濊瘯銆傜粨鏋滃彂鐜幫紝鍦↗ava涓熷害闈炲父蹇殑閲嶆瀯榪囩▼錛屽埌C++涓氨琚噺鎱簡銆傜┒鍏跺師鍥狅紝灝辨槸鍥犱負C++鍜孞ava鐨勭害鏉熸潯浠朵笉鍚屻傛嬁鐫Java涓垚鍔熺殑妗堜緥鐩存帴濂桟++錛屼笉澶辮觸鎵嶆?br />鎵浠ワ紝鎴戝繀欏昏錛氥奟efactoring銆嬭繖鏈功寰堟湁浠峰箋備絾瀵逛簬C++紼嬪簭鍛樻潵璇達紝瀹冪殑浠峰兼槸璁╀綘鎬濊冿紝鎬濊冭繖縐嶆柟娉曠殑鍙鎬с傚鏋滀竴涓狢++紼嬪簭鍛樻病鏈夋墦綆楄縼縐誨埌Java錛岄偅涔堟垜蹇呴』鍛婅瘔浠栵細銆奟efactoring銆嬭繖鏈功涓嶆槸璁╀綘鐓х潃瀹冪敤鐨勶紝鐢氳嚦涓嶆槸璁╀綘鍘葷浉淇″畠鐨勩傚浜嶤++紼嬪簭鍛橈紝銆奟efactoring銆嬪叏涔﹀彲浠ユ斁蹇冪浉淇$殑鍙湁絎?3绔狅紝鍏朵粬鐨勯儴鍒嗭紝閮藉繀欏婚潪甯歌皚鎱庡湴瀵瑰緟銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">姊﹂瓏錛氭垜榪樿灝扁滆瘯鎺㈠瀷鈥濈殑鏂規硶澶氳涓ゅ彞錛屾垜瑙夊緱瀵逛簬涓漢鍙戝睍鏉ヨ錛屸滆瘯鎺⑩濅篃鏄繀涓嶅彲灝戠殑錛屾挒澧欎笉鍙曪紝楂樻按騫崇殑浜轟笉閮芥槸鎾炲嚭鏉ョ殑鍚楋紵浣犲け璐ヤ簡涓嬈★紝灝辯煡閬撹繖涓ā寮忔湁浠涔堟綔鍦ㄧ殑闂錛屼笅嬈″啀鐢紝灝變細澶氱湅鍑犳錛屽儚涓嬫浼肩殑銆傛挒鐨勫浜嗭紝璺暟灝卞嚭鏉ヤ簡銆?br />鎴戜笉鐭ラ亾浣犱滑鏄惁鏈夎繖涓劅瑙夛細鐢ㄩ敊浜嗘ā寮忥紝鍚冧簡浜忥紝鍐嶅洖榪囧ご鍘葷炕緲匯奃esign聽Patterns銆嬶紝鐪嬪埌浜哄鏃╁氨鎸囧嚭鏉ヨ繖涓棶棰橈紝涓嶈繃灝辨槸閭d箞鍑犲彞璇濓紝鍘熸潵鐪嬩笂鍘誨共宸村反鐨勶紝鐜板湪瑙夊緱鍙ュ彞閮借鍒板績鍧庝笂錛孏oF鐨勫艦璞¢┈涓婂氨楂樺ぇ璧鋒潵錛岃繕甯︾潃鍏夌幆錛屾劅瑙夋槸鏃㈠叴濂嬪張鎳婃倲銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛氱幇鍦ㄥ洖澶存潵鐪嬶紝鎴戞洿嬈h祻myan鎺ㄨ崘緇欐垜鐨勩奃esigning聽Object-Oriented聽C++聽Applications聽Using聽Booch聽Method銆嬨傝繖鏈功鑳藉甯姪C++紼嬪簭鍛樼悊娓呮濊礬鍩瑰吇涔犳儻錛屽彲鎯滃浗鍐呮病鏈夊紩榪涖傜浉姣斿悗鏉ュ晢涓氬懗嫻撳帤鐨刄ML緋誨垪涔︾睄錛屾垜瑙夊緱榪欐湰涔﹀浜庨潰鍚戝璞$殑闃愰噴綺捐緹鐙埌錛岃嚦浠婃湭鏈夎兘鍑哄叾鍙寵呫?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">姊﹂瓏錛氬垰鎵嶆垜浠袱浜洪兘璇村埌Robert聽Martin錛屼粬鍙槸鎴戠殑姒滄牱銆傞偅鏈?995騫寸殑銆奃esigning聽Object聽Oriented聽C++聽Application銆嬶紝鎴戣寰楁槸姣忎竴涓狢++杞歡宸ョ▼甯堥兘搴旇鍙嶅鐮旇鐨勪功銆傚彲鎯滀笉浠呭浗鍐呮病鏈夊紩榪涳紝鍦ㄥ浗澶栫殑鍚嶆皵涔熶笉澶с傚鏋滀綘瑙夊緱闈㈠悜瀵硅薄鐨勯偅浜涢亾鐞嗕綘濂藉儚閮芥槑鐧斤紝鍙氨鏄竴閬囧埌瀹為檯闂灝變嬌涓嶄笂鍔詫紝閭h繖鏈功灝辨槸浣犵殑鏈浣沖甯堛?br />鎻愬埌鐞嗘竻鎬濊礬錛岃繕鏈変竴鏈功涓嶅緱涓嶆彁錛屽氨鏄疉ndrew聽Koenig鐨勩奟uminations聽On聽C++銆嬨傛瘡涓漢閮藉簲璇ラ棶鑷繁錛屾垜瀛︿簡榪欎箞澶氬勾鐨凜++錛岀┒绔熶粈涔堟槸C++鏈鍩烘湰鐨勮璁$悊蹇碉紵閬囧埌闂鎴戠涓涓洿瑙夋槸浠涔堬紵絎竴涓瘯鎺㈠瀷鐨勮В鍐蟲柟妗堝簲璇ュ叿鏈夐偅浜涚壒鐐癸紵濡傛灉浣犱笉鑳界粰鍑烘槑紜殑絳旀錛屽氨搴旇璁ょ湡鍦板幓璇昏繖鏈功錛岃瀹屼簡浣犲氨鏈変簡鈥滀富蹇冮鈥濄?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛氭彃涓鍙ヨ瘽錛岃皥璋堚滄帹鑽愪功鈥濈殑闂銆傚叆闂ㄤ功鍩烘湰涓婃槸鏀句箣鍥涙搗鑰岀殕鍑嗙殑錛屾墍浠ユ帹鑽愮殑鎰忎箟涔熶笉澶с傝屽叆闂ㄥ悗鐨勫彂灞曟柟鍚戯紝姣忎釜浜轟笉鍚岋紝榪欎釜鏃跺欏氨闇瑕佲滈珮浜衡濈殑鎸囩偣銆備婦涓緥瀛愶細鎴戝C++鐨勬椂鍊欙紝myan榪樹笉璁よ瘑鎴戯紝鎵浠ヤ篃娌℃湁緇欐垜鎺ㄨ崘涔︼紝鎴戣繕鏄榪囨潵浜嗭紝鎵浠ュ嵆浣夸綘褰撴椂鍚戞垜鎺ㄨ崘浜嗐奅ssential聽C++銆嬫垨鑰呫奀++聽Primer銆嬶紝鎴戜篃涓嶄細澶劅璋綘錛涗絾鍦ㄦ垜璁ょ湡鐮旂┒OO鐨勬椂鍊欙紝浣犳帹鑽怰obert聽Martin閭f湰涔︾粰鎴戯紝瀵規垜甯姪灝辯壒鍒ぇ錛岃屼笖鎴戜粠鍒殑鍦版柟涔熷緢闅炬壘鍒扮被浼肩殑鎺ㄨ崘錛屾墍浠ユ垜灝卞緢鎰熻阿浣犮?br />涓涓▼搴忓憳錛屽繀欏繪湁framework鐨勬剰璇嗭紝瑕佸浼氱敤framework錛岃繕瑕佷富鍔ㄥ幓鍒嗘瀽framework錛堝湪榪欐柟闈紝銆奃esign聽Patterns銆嬭兘鏈変竴瀹氱殑甯姪錛夈備絾鏄紝鐪熸楂樿川閲忋佹垚姘斿欑殑framework鐨勪功鎭愭曚篃灝卞彧鏈夐拡瀵筂FC鐨勩備粠榪欎釜瑙掑害鏉ヨ錛孧FC綰墊湁鍗冭埇涓嶆槸錛孋++紼嬪簭鍛橀兘闈炲父鏈夊繀瑕佸厛鍘葷敤瀹冦佺啛鎮夊畠銆佺爺絀跺畠錛岀敋鑷沖熷姪銆婃繁鍏ユ祬鍑篗FC銆嬭繖鏍風殑涔︽潵鍓栨瀽瀹冦備笉鐒訛紝寰堥毦鏈塮ramework鐨勬剰璇嗗拰鎰熻銆?br />褰撶劧錛屽彟涓涓猣ramework涔熷緢濂斤紝閭e氨鏄疭TL銆備笉綆$敤涓嶇敤MFC銆丼TL錛屽榪欎袱涓笢瑗跨殑鎺屾彙鍜岀悊瑙i兘鏄瀬鏈夊府鍔╃殑銆傛渶榪戞垜鍙堝湪鐪嬨婃繁鍏ユ祬鍑篗FC銆嬶紝铏界劧宸茬粡涓嶇敤MFC緙栫▼浜嗭紝浣嗗府鍔╂槸涓瀹氭湁鐨勩?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">姊﹂瓏錛歁FC鍜孲TL鏂歸潰錛屾垜榪樻槸姣旇緝鎺ㄥ磭渚厛鐢熺殑涓ゆ湰涔︺婃繁鍏ユ祬鍑篗FC銆嬪拰銆奡TL婧愮爜瑙f瀽銆嬨?br />銆婃繁鍏ユ祬鍑篗FC銆嬭繖鏈功錛屽悕姘旇嚜鐒舵槸澶у緱涓嶅緱浜嗭紝涓嶈繃涔熸湁涓嶅皯浜烘壒璇勩傚叾瀹炰功涔熸病鏈夊崄鍏ㄥ崄緹庣殑錛屾壒璇勫綋鐒舵槸灝戜笉浜嗙殑錛屼笉榪囨湁鐨勬椂鍊欐垜鐪嬪埌鏈変漢璇勮榪欐湰涔︼紝鎶婂畠璺烮nside聽VC鐩告瘮錛岀湡鐨勬槸鐗涘ご涓嶅椹槾銆?br />浣犲垰鎵嶅叾瀹炶寰楀緢瀵癸紝紼嬪簭鍛樺簲璇ユ湁涓鐐筬ramework鎰忚瘑銆傝岃繖鏈婃繁鍏ユ祬鍑篗FC銆嬩笌鍏惰鏄湪璁睲FC緙栫▼錛屼笉濡傝閫氱瘒鏄湪鎷縈FC涓轟緥鍒嗘瀽Application聽Framework鐨勬灦鏋勫拰鑴夌粶銆傛墍浠ユ棤璁轟綘瀵逛簬MFC鏈韓鏄粈涔堟佸害錛岃繖鏈功瀵規瘡涓涓狢++紼嬪簭鍛橀兘鏈夊緢澶х殑鐩婂銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛氭槸鐨勩傘奦C鎶鏈唴騫曘嬩細鍛婅瘔浣犫淒YNAMIC_CREATE榪欎釜瀹忔庝箞鐢ㄢ濓紝銆婃繁鍏ユ祬鍑篗FC銆嬪垯鍛婅瘔浣犫淒YNAMIC_CREATE榪欎釜瀹忔槸鎬庝箞瀹炵幇鐨勨濄傛墍浠ワ紝濡傛灉浣犲彧闇瑕佸湪VC涓嬪啓涓浜涘皬搴旂敤紼嬪簭錛屻婃繁鍏ユ祬鍑篗FC銆嬬殑浠峰煎茍涓嶅お澶э紱浣嗘槸錛屽鏋滀綘闇瑕佽璁′竴涓◢寰ぇ涓鐐圭殑涓滆タ錛堜笉涓瀹氭槸framework錛夛紝MFC鐨勮璁℃濇兂灝變細鏈夋墍甯姪銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">姊﹂瓏錛氬彟澶栵紝鎴戣寰楀浜嶮FC涔熷簲璇ユ湁涓涓叕鍏佺殑璇勪環銆傝繃鍘繪槸鍚規崸寰楀ぉ涓婃湁鍦頒笅鏃狅紝涔﹀簵閲岄摵澶╃洊鍦伴兘鏄疢FC鐨勪功錛屾悶寰楀ぇ瀹跺彧鐭ユ湁MFC錛屼笉鐭ユ湁C++錛岀敋鑷崇洿鍒扮幇鍦ㄨ繕鏈変漢闂細鈥滄垜鏄MFC鍛紝榪樻槸瀛++錛烿C++鏄笉鏄瘮C++鏇撮珮綰х殑璇█錛熲滿FC鎴愪簡涓灝婄鍍忥紝闃葷浜嗕漢浠殑瑙嗙嚎銆傛墍浠ュ緱鎶婂畠浠庣鍧涗笂鎷変笅鏉ャ傝繖灝辨槸榪囧幓涓涓ゅ勾鏈夊緢澶氫漢錛屽寘鎷垜鍦ㄥ唴鎵硅瘎MFC鐨勪竴涓洰鐨勩傚彲鏄幇鍦ㄥぇ瀹惰閲庡紑闃斾簡錛?NET涔熷嚭鏉ヤ簡錛孧FC涓嶅啀鏄鍍忎簡錛屽皯鏁頒漢灝卞紑濮嬩互璐崯MFC涓轟箰浜嗐傛垜瑙夊緱榪欑鎬佸害鏄笉瀵圭殑銆?br />浠涔堝彨濂界殑妗嗘灦錛熸垜瑙夊緱鍦ㄥ崄鍑犲勾鐨勬椂闂磋兘澶熻薄MFC榪欐牱淇濇寔紼沖畾騫朵笖涓嶆柇榪涙鐨勬鏋跺氨鏄ソ鐨勬鏋躲傚彲鑳芥垜浠湪涓浜涘叿浣撶殑璁捐闂涓婃湁涓嶅悓鐪嬫硶錛岃寰椻滆繖涓湴鏂硅繖涔堣璁′笉鏄洿婕備寒鍚楋紵鈥濆緢澶氭椂鍊欐槸鐨勶紝浣嗘槸榪欎笉閲嶈錛岄噸瑕佺殑鏄疢FC鎴愮啛紼沖畾銆佹湁鍗佸嚑騫寸殑鎴愬姛緇忛獙錛岃繖鏄渶浜嗕笉璧風殑涓滆タ銆?br />鍙﹀涓鐐癸紝MFC涓棿鍖呮嫭鐫瀛︿範Win32聽API緙栫▼鐨勬渶浣寵祫鏂欍傝繖鏄櫎浜嗗叾framework鏂歸潰涔嬪鐨勫彟涓涓寒鐐廣傛垜鐜板湪浣跨敤Win32聽API寮鍙戯紝浣嗘槸緇忓父鍙傝僊FC鐨勬簮浠g爜錛屾敹鑾峰緢澶с?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛歋TL鏂歸潰錛屾垜瀵逛簬鍓栨瀽瀹冪殑婧愪唬鐮佸叴瓚e茍涓嶅ぇ錛屾瘯绔熼噷闈㈡簮浠g爜澶氭槸綆楁硶闂銆傛墍浠ワ紝銆奡TL婧愮爜鍓栨瀽銆嬫垜涔熷彧鏄殢渚跨炕緲誨氨鏉熶箣楂橀榿浜嗐傛垜瑙夊緱榪欐湰涔︾敤鏉ュ仛璁$畻鏈虹郴鐨勬暟鎹粨鏋勫拰綆楁硶鏁欐潗涓嶉敊錛屼笉鐭ラ亾鏈夋病鏈夎佸笀涔愭剰榪欐牱鍋氥?br />瀵逛簬STL錛屾垜鐨勬佸害涓鍚戦兘鏄滃簲鐢ㄨ嚦涓娾濄備笉榪囷紝鎴戜竴鐩磋涓篠GI聽STL鏈韓灝辨槸涓鏈簿褰╃殑涔︼紝涓鏈暟鎹粨鏋勫拰綆楁硶鐨勭粡鍏稿弬鑰冧功錛屽悓鏃朵篃鏄硾鍨嬫妧鏈殑鍙傝冧功銆傛兂鐭ラ亾涓涓畻娉曟槸濡備綍瀹炵幇鐨勶紝鐪嬬湅STL婧愪唬鐮佸氨琛岋紱鎯崇煡閬撳浣曚嬌鐢╰ype聽traits錛孲TL婧愪唬鐮侀噷闈篃鏈変緥瀛愩傜湅鍒漢鍐欑殑涔︼紝鎬昏寰楅殧鐫涓灞傜罕錛屾湁鐐規尃涓嶅埌鐥掑鐨勬劅瑙夈係GI聽STL鐨勪唬鐮佸啓寰楅潪甯告紓浜紝涓涓狢++紼嬪簭鍛樺鏋滀笉鐪嬬湅榪欐湰涔︼紝瀹炲湪鏄彲鎯溿?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">姊﹂瓏錛氳嚦浜嶴TL錛岄櫎浜嗐奡TL婧愮爜瑙f瀽銆嬩箣澶栵紝鎴戜婦璐や笉閬夸翰錛屽己鐑堟帹鑽愪警鍏堢敓涓庢垜鍚堣瘧鐨勯偅鏈奣he聽C++聽Standard聽Library銆嬨傝繖鏈功璐ㄩ噺涔嬮珮鏄棤闇鎬鐤戠殑銆傛垜鐜板湪鎵嬭竟甯稿姝や功錛岄殢鏃舵煡闃咃紝瀵規垜甯姪寰堝ぇ銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛欳++鍜孞ava鐩告瘮錛屾渶澶х殑浼樺娍灝辨槸瀹冩病鏈変竴涓笓闂ㄧ殑鍏徃鏉ョ瀹冿紝鏈澶х殑寮辯偣涔熸槸瀹冩病鏈変竴涓笓闂ㄧ殑鍏徃鏉ョ瀹冦侸ava紼嬪簭鍛樺湪瀛︿細綆鍗曠殑璇硶涔嬪悗錛岀珛鍒昏繘鍏UN鎻愪緵鐨刦ramework錛屼竴杈圭敤榪欎釜鐜版垚鐨刦ramework鍋氬疄闄呭紑鍙戯紝涓杈瑰湪寮鍙戣繃紼嬩腑緇х畫瀛︿範Java涓浜涘菇娣辯殑鐗規с傝岃繖涓椂鍊欙紝C++紼嬪簭鍛樻亹鎬曡繕鍦ㄩ棶鈥淰C鍜孊CB鍝釜濂解濆憿銆傝繖鏃犵枒鏄氮璐規椂闂淬?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">姊﹂瓏錛氬垰鎵嶄綘璇碕ava鍜孋++鐨勪紭鍔o紝榪欎釜璇濋宸茬粡鎴愪簡鎴戜滑榪欎釜騫翠唬姘鎬笉娑堝け鐨勫0娉簡銆傛垜涔熶笉鎯沖啀璋堣繖涓備笉榪囨湁涓鐐規垜寰楄娓呮錛氱幇鍦ㄦ垜浠緢澶氱敤C++鐨勪漢鍚冧簡涓嶅皯鑻﹀ご錛屾帰榪囪剸瀛愬幓鐪嬬湅Java錛岃寰楀畠鐪熸槸澶彲鐖變簡錛岃繖縐嶅嵃璞℃槸涓嶅噯紜殑銆傚彟澶栵紝Java涔熶笉綆鍗曪紝鑰屼笖浼氳秺鏉ヨ秺搴炲ぇ澶嶆潅銆傚湪寰堝鍦哄悎錛孞ava榪樹笉鍏鋒湁绔炰簤鍔涖傝嚦浜庡皢鏉ュ浣曪紝鎴戠湅鏈変簺Java鐖卞ソ鑰呬篃榪囧垎涔愯浜嗭紝浼間箮璁$畻鏈虹瀛︾晫鍑犲崄騫磋В鍐充笉浜嗙殑闂閮藉彲浠ュ熺潃Java鐨勪笢椋庤В鍐蟲帀錛屾亹鎬曟病閭d箞瀹規槗銆?</font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">閫忔槑錛氶偅褰撶劧銆傛垜鍐嶆寮鴻皟錛歂o聽Silver聽Bullet銆傝涔﹀緢閲嶈錛屼絾鍙や漢璇粹滆涓囬噷璺紝璇諱竾鍗蜂功鈥濓紝榪樻槸鎶娾滆璺濇斁鍦ㄢ滆涔︹濆墠闈€傚挨鍏跺浜庢妧鏈功綾嶏紝濡傛灉瀹冧笉鑳藉府鎴戣В鍐抽棶棰樸佷笉鑳界粰鎴戝甫鏉ラ潪甯稿疄闄呯殑鍒╃泭錛岄偅涔堟垜鏄笉浼氬幓璇誨畠鐨勩傛伓欖旇寰楀錛屾垜浠繖涓ぞ浼氬緢蹇錛屾垜浠繖涓涓氬挨鍏跺緢蹇錛屾垜浠篃鍙兘鍔姏閫傚簲瀹冦?br />聽<br />杞澆鑷? </font> <a target="_blank"> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">http://bbs.cnitexam.com/simple/index.php?t22602.html </font> </a> <br /> </p> </td> </tr> </tbody> </table> </div> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </div> </td> </tr> </tbody> </table> <img src ="http://www.shnenglu.com/qjbest/aggbug/6827.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qjbest/" target="_blank">Q</a> 2006-05-09 16:51 <a href="http://www.shnenglu.com/qjbest/archive/2006/05/09/6827.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++ Primer閲屼竴涓被浼約tring鐨勭畝鍗曠被http://www.shnenglu.com/qjbest/archive/2006/04/28/6423.htmlQQFri, 28 Apr 2006 07:44:00 GMThttp://www.shnenglu.com/qjbest/archive/2006/04/28/6423.htmlhttp://www.shnenglu.com/qjbest/comments/6423.htmlhttp://www.shnenglu.com/qjbest/archive/2006/04/28/6423.html#Feedback0http://www.shnenglu.com/qjbest/comments/commentRss/6423.htmlhttp://www.shnenglu.com/qjbest/services/trackbacks/6423.html #include<iostream>
#include<cstring>
#include<cassert>
#include<iomanip>

using namespace std;
class String;
istream& operator>>(istream&, String&);
ostream& operator<<(ostream&,const String&);

class String
{
public:
聽//鏋勯犲嚱鏁?br />聽//String s1();
聽//String s1("abc");
聽//String s2(s1);
聽String();
聽String(const char*);
聽String(const String&);
聽//鏋愭瀯鍑芥暟
聽~String();
聽//璧嬪兼搷浣?br />聽String& operator=(const char*);
聽String& operator=(const String&);
聽//絳変簬鎿嶄綔
聽bool operator==(const char*);
聽bool operator==(const String&);
聽//鍔犳搷浣?br />聽String operator+(const String&) const;
聽//涓嬫爣鎿嶄綔
聽char& operator[](int);
聽//鎴愬憳鎿嶄綔
聽int size(){return _size;}
聽char* c_str(){return _string;}
聽//璁版暟鎿嶄綔
聽int count(const char) const;
private:
聽int聽 _size;
聽char *_string;
};

inline String::String()聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鏋勯犲嚱鏁?br />{
聽_size=0;
聽_string=0;
}

inline String::String(const char* str)聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鏋勯犲嚱鏁?br />{
聽if(!str)
聽{
聽聽_size=0;
聽聽_string=0;
聽}
聽else
聽{
聽聽_size=strlen(str);
聽聽_string=new char[_size+1];
聽聽strcpy(_string,str);
聽}
}

inline String::String(const String& str)聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鎷瘋礉鏋勯犲嚱鏁?br />{
聽if(!str._size)
聽{
聽聽_size=0;
聽聽_string=0;
聽}
聽else
聽{
聽聽_size=strlen(str._string);
聽聽_string=new char[_size+1];
聽聽strcpy(_string,str._string);
聽}
}

inline String::~String()聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鏋愭瀯鍑芥暟
{
聽delete[] _string;
}

inline String& String::operator=(const char* str)聽聽聽聽聽聽聽聽 //璧嬪兼搷浣?br />{
聽if(!str)
聽{
聽聽_size=0;
聽聽delete[] _string;
聽聽_string=0;
聽}
聽else
聽{
聽聽_size=strlen(str);
聽聽delete[] _string;
聽聽_string=new char[_size+1];
聽聽strcpy(_string,str);
聽}
聽return *this;
}

inline String& String::operator=(const String &str)聽聽聽聽聽 //璧嬪兼搷浣?br />{
聽if(this!=&str)
聽{
聽聽_size=str._size;
聽聽delete[] _string;
聽聽_string=new char[_size+1];
聽聽strcpy(_string,str._string);
聽}
聽return *this;
}


inline bool String::operator==(const String &rhs)聽聽聽聽聽聽聽聽聽 //絳変簬鎿嶄綔絎﹂噸杞?br />{
聽if(_size!=rhs._size)
聽聽return false;
聽return strcmp(_string,rhs._string)?false:true;
}

inline bool String::operator==(const char *str)聽聽聽聽聽聽聽聽聽聽聽 //絳変簬鎿嶄綔絎﹂噸杞?br />{
聽return strcmp(_string,str)?false:true;
}

inline char& String::operator[](int n)聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //涓嬫爣璁塊棶絎?br />{
聽assert(n>=0 && n<_size);
聽return _string[n];
}

inline int String::count(const char s) const聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //璁版暟鎿嶄綔
{
聽int tempCount=0;
聽for(int i=0;i<_size;i++)
聽{
聽聽聽 聽if(_string[i]==s)
聽聽聽++tempCount;
聽}
聽return tempCount;
}

inline String String::operator+(const String& str) const聽 //鍔犳搷浣?br />{
聽String tempStr;
聽tempStr._size=_size+str._size;
聽tempStr._string=new char[tempStr._size+1];
聽strcpy(tempStr._string,_string);
聽strcat(tempStr._string,str._string);
聽return tempStr;
}

inline istream& operator>>(istream &io,String &str)聽聽聽聽聽聽 //杈撳叆嫻?br />{
聽const int limit_string_size =4096;
聽char inBuf[limit_string_size];
聽io>>setw(limit_string_size)>>inBuf;
聽str=inBuf;
聽return io;
}

inline ostream& operator<<(ostream &os,String &str)聽聽聽聽聽聽 //杈撳嚭嫻?br />{
聽return os<<str.c_str();
}


int main()
{
聽String str1="abc";
聽String str2="def";
聽str1.size();
聽cout<<"size :"<<str1.size()<<endl;
聽cout<<"b count :"<<str1.count('b')<<endl;
聽String str3=str1+str2;
聽cout<<str3;聽聽聽聽聽 //璇ュ涓嶈兘涓篠tring&錛屽彧鑳戒負String銆傝String operator+()鍜宱stream& operator<<(ostream &os,String &str)
聽return 0;
}

SO GOOD!



Q 2006-04-28 15:44 鍙戣〃璇勮
]]>
C++鍩虹閮ㄥ垎----鏂囧瓧甯擱噺http://www.shnenglu.com/qjbest/archive/2006/04/19/5859.htmlQQWed, 19 Apr 2006 01:47:00 GMThttp://www.shnenglu.com/qjbest/archive/2006/04/19/5859.htmlhttp://www.shnenglu.com/qjbest/comments/5859.htmlhttp://www.shnenglu.com/qjbest/archive/2006/04/19/5859.html#Feedback0http://www.shnenglu.com/qjbest/comments/commentRss/5859.htmlhttp://www.shnenglu.com/qjbest/services/trackbacks/5859.html瀵逛簬鏂囧瓧甯擱噺錛屽垪鍑哄涓嬪叧閿俊鎭紝閮芥槸浠ュ墠鑷繁涓嶅お娓呮鐨勯儴鍒?br />鏂囧瓧甯擱噺綾誨瀷錛?br />1銆佹暣鍨?br />2銆佹誕鐐瑰瀷
3銆乥ool鍨?br />4銆佸瓧絎﹀瀷
5銆佸瓧絎︿覆鍨?br />6銆佽漿縐誨簭鍒?br />===========================================
1銆佹暣鍨嬶細鏈塻hort,int,long int銆傞粯璁ゆ儏鍐典笅閮芥槸鏈夌鍙峰瀷鐨勶細1024銆傛渶宸﹁竟涓虹鍙蜂綅錛?琛ㄧず璐熸暟錛?琛ㄧず姝f暟銆傚鏋滆琛ㄧず鏃犵鍙峰瀷錛屽垯涓猴細1024U銆傚鏋滆琛ㄧず闀挎暣鍨嬶紝鍒欎負錛?024L銆?br />2銆佹誕鐐瑰瀷錛氶粯璁ゆ儏鍐典笅閮芥槸double鍨嬬殑錛?.141592銆傚鏋滆琛ㄧず涓篺loat鍨嬶紝鍒欎負3.141592F銆傚鏋滆琛ㄧず闀垮弻綺懼害錛堝嵆鎵╁睍綺懼害錛夛紝鍒欎負3.141592L銆?br />4銆佸瓧絎﹀瀷錛?A' 錛屾暟鎹被鍨嬩負char銆侺'A' 涓哄瀛楃鍨嬶紝鏁版嵁綾誨瀷wchar_t銆?br />5銆佸瓧絎︿覆鍨嬶細"hello,world"錛屾暟鎹被鍨嬩負const甯擱噺鏁扮粍銆傜壒鍒渶瑕佹敞鎰忕殑鏄細緙栬瘧鍚庣殑瀛楃涓查暱搴?緙栬瘧鍓嶇殑瀛楃涓查暱搴?緙栬瘧鍣ㄤ負琛ㄧず瀛椾覆緇撴潫鑰岃嚜鍔ㄤ負鍏跺湪鏈鍚庝綅鍔犲叆鐨凬ULL錛堝嵆'\0'錛夛紝榪欏湪瀛楃鍨嬮噷鏄笉浼氬嚭鐜扮殑銆?L"hello,world"錛氬瀛楃涓插瀷銆?br />6銆佽漿縐誨簭鍒楋細 甯歌鐨勬湁\"錛堝弻寮曞彿錛壜?\'錛堝崟寮曞彿錛?\\錛堝弽鏂滄潬錛夌瓑錛堣嚜宸卞お鎳掍簡錛岄兘涓嶆兂鍐欎簡錛?br />
瀵逛簬1銆?鏈夌壒鍒渶瑕佹敞鎰忕殑鍦版柟錛屾湁絎﹀彿鍨嬬殑鍙兘鏄暣鍨嬫暟鎹紝涓嶈兘鐢ㄥ湪嫻偣鍨嬩笂銆?br />濡傛灉瑕佽涓琛屾湭緇撴潫鐨勫瓧涓叉崲琛岀戶緇啓錛屽垯鍙互鐢ㄥ涓嬭〃紺猴細
"hello聽,my \
聽girlfirend"
涔熷氨鏄錛岃鍦ㄦ渶鍚庝竴涓瓧絎﹀悗闈㈠姞"\"鍙嶆枩鏉犮?


Q 2006-04-19 09:47 鍙戣〃璇勮
]]>(杞澆)鏂囦歡鐨勮緭鍏ヨ緭鍑哄嚱鏁幫紞錛嶈秴璧炵殑鍐呭錛?/title><link>http://www.shnenglu.com/qjbest/archive/2006/04/14/5580.html</link><dc:creator>Q</dc:creator><author>Q</author><pubDate>Fri, 14 Apr 2006 13:05:00 GMT</pubDate><guid>http://www.shnenglu.com/qjbest/archive/2006/04/14/5580.html</guid><wfw:comment>http://www.shnenglu.com/qjbest/comments/5580.html</wfw:comment><comments>http://www.shnenglu.com/qjbest/archive/2006/04/14/5580.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qjbest/comments/commentRss/5580.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qjbest/services/trackbacks/5580.html</trackback:ping><description><![CDATA[ <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽 閿洏銆佹樉紺哄櫒銆佹墦鍗版満銆佺鐩橀┍鍔ㄥ櫒絳夐昏緫璁懼, 鍏惰緭鍏ヨ緭鍑洪兘鍙互閫氳繃鏂?<br />浠剁鐞嗙殑鏂規硶鏉ュ畬鎴愩傝屽湪緙栫▼鏃朵嬌鐢ㄦ渶澶氱殑瑕佺畻鏄鐩樻枃浠? 鍥犳鏈妭涓昏浠?<br />紓佺洏鏂囦歡涓轟富, 璇︾粏浠嬬粛Turbo C2.0鎻愪緵鐨勬枃浠舵搷浣滃嚱鏁? 褰撶劧榪欌敀鏅曞嫙顟肩墴? <br />浣滃嚱鏁頒篃閫傚悎浜庨潪紓佺洏鏂囦歡鐨勬儏鍐點?<br />聽聽聽 鍙﹀, Turbo C2.0鎻愪緵浜嗕袱綾誨叧浜庢枃浠剁殑鍑芥暟銆備竴綾葷О鍋氭爣鍑嗘枃浠跺嚱鏁頒篃縐?<br />緙撳啿鍨嬫枃浠跺嚱鏁? 榪欐槸ANSI鏍囧噯瀹氫箟鐨勫嚱鏁? 鍙︿竴綾誨彨闈炴爣鍑嗘枃浠跺嚱鏁? 涔熺О闈?<br />緙撳啿鍨嬫枃浠跺嚱鏁般傝繖綾誨嚱鏁版渶鏃╁叕鐢ㄤ簬UNIX鎿嶄綔緋葷粺, 浣嗙幇鍦∕S-DOS3.0 浠ヤ笂鐗?<br />鏈殑鎿嶄綔緋葷粺涔熷彲浠ヤ嬌鐢ㄣ備笅闈㈠垎鍒繘琛屼粙緇嶃?<br />聽 <br />聽聽聽 1.2.1聽 鏍囧噯鏂囦歡鍑芥暟 <br />聽聽聽 鏍囧噯鏂囦歡鍑芥暟涓昏鍖呮嫭鏂囦歡鐨勬墦寮銆佸叧闂佽鍜屽啓絳夊嚱鏁般備笉璞ASIC 銆?<br />FORTRAN璇柟鏈夐『搴忔枃浠跺拰闅忔満鏂囦歡涔嬪垎,聽聽 鍦ㄦ墦寮鏃跺氨搴旀寜涓嶅悓鐨勬柟寮忕‘瀹氥?<br />Turbo C2.0騫朵笉鍖哄垎榪欎袱縐嶆枃浠? 浣嗘彁渚涗簡涓ょ粍鍑芥暟, 鍗抽『搴忚鍐欏嚱鏁板拰闅忔満璇?<br />鍐欏嚱鏁般?<br />聽聽聽 涓銆佹枃浠剁殑鎵撳紑鍜屽叧闂?<br />聽聽聽 浠諱綍涓涓枃浠跺湪浣跨敤涔嬪墠鍜屼嬌鐢ㄤ箣鍚? 蹇呴』瑕佽繘琛屾墦寮鍜屽叧闂? 榪欐槸鍥犱負鎿?<br />浣滅郴緇熷浜庡悓鏃舵墦寮鐨勬枃浠舵暟鐩槸鏈夐檺鍒剁殑, DOS鎿嶄綔緋葷粺涓?聽聽聽 鍙互鍦―EVICE <br />.SYS涓畾涔夊厑璁稿悓鏃舵墦寮鐨勬枃浠舵暟n(鐢╢iles=n瀹氫箟)銆傚叾涓璶 涓哄彲鍚屾椂鎵撳紑鐨勬枃 <br />浠舵暟, 涓鑸琻<=20銆傚洜姝ゅ湪浣跨敤鏂囦歡鍓嶅簲鎵撳紑鏂囦歡, 鎵嶅彲瀵瑰叾涓殑淇℃伅榪涜瀛樺彇銆?<br />鐢ㄥ畬涔嬪悗闇瑕佸叧闂? 鍚﹀垯灝嗕細鍑虹幇涓浜涙剰鎯充笉鍒扮殑閿欒銆俆urbo C2.0鎻愪緵浜嗘墦寮 <br />鍜屽叧闂枃浠剁殑鍑芥暟銆?<br /></font> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 1. fopen()鍑芥暟 <br />聽聽聽 fopen鍑芥暟鐢ㄤ簬鎵撳紑鏂囦歡, 鍏惰皟鐢ㄦ牸寮忎負: <br />聽聽聽聽 FILE *fopen(char *filename, *type); <br />聽聽聽 鍦ㄤ粙緇嶈繖涓嚱鏁頒箣;鍓? 鍏堜簡瑙d竴涓嬩笅闈㈢殑鐭ヨ瘑銆?<br />聽聽聽 (1) 嫻?stream)鍜屾枃浠?file) <br />聽聽聽 嫻佸拰鏂囦歡 鍦═urbo C2.0涓槸鏈夊尯鍒殑, Turbo C2.0 涓虹紪紼嬭呭拰琚闂殑璁?<br />澶囦箣闂存彁渚涗簡涓灞傛娊璞$殑涓滆タ, 縐頒箣涓?嫻?, 鑰屽皢鍏蜂綋鐨勫疄闄呰澶囧彨鍋氭枃浠躲?<br />嫻佹槸涓涓昏緫璁懼, 鍏鋒湁鐩稿悓鐨勮涓恒傚洜姝? 鐢ㄦ潵榪涜紓佺洏鏂囦歡鍐欑殑鍑芥暟涔熷悓鏍?<br />鍙互鐢ㄦ潵榪涜鎵撳嵃鏈虹殑鍐欏叆銆傚湪Turbo C2.0涓湁涓ょ鎬ц川鐨勬祦:聽聽 鏂囧瓧嫻? text <br />stream)鍜屼簩榪涘埗(binary stream)銆傚紓佺洏鏉ヨ灝辨槸鏂囨湰鏂囦歡鍜屼簩榪涘埗鏂囦歡銆傛湰 <br />杞歡涓轟簡渚夸簬璁╄鑰呮槗鐞嗚ВTurbo C2.0璇█鑰屾病鏈夊嫻佸拰鏂囦歡浣滅壒鍒尯鍒嗐?<br />聽聽聽 (2) 鏂囦歡鎸囬拡FILE <br />聽聽聽 瀹為檯涓奆ILE鏄竴涓柊鐨勬暟鎹被鍨嬨傚畠鏄疶urbo C2.0鐨勫熀鏈暟鎹被鍨嬬殑闆嗗悎, <br />縐頒箣涓虹粨鏋勬寚閽堛傛湁鍏崇粨鏋勭殑姒傚康灝嗗湪絎洓鑺備腑璇︾粏浠嬬粛, 榪欓噷鍙灝咶ILE鐞嗚В <br />涓轟竴涓寘鎷簡鏂囦歡綆$悊鏈夊叧淇℃伅鐨勬暟鎹粨鏋? 鍗沖湪鎵撳紑鏂囦歡鏃跺繀欏誨厛瀹氫箟涓涓枃 <br />浠舵寚閽堛?<br />聽聽聽 (3) 浠ュ悗浠嬬粛鐨勫嚱鏁拌皟鐢ㄦ牸寮忓皢鐩存帴鍐欏嚭褰㈠紡鍙傛暟鐨勬暟鎹被鍨嬪拰鍑芥暟榪斿洖鍊?<br />鐨勬暟鎹被鍨嬨備緥濡? 涓婇潰鎵撳紑鏂囦歡鐨勫嚱鏁? 榪斿洖涓涓枃浠舵寚閽? 鍏朵腑褰㈠紡鍙傛暟鏈?<br />涓や釜, 鍧囦負瀛楃鍨嬪彉閲?瀛楃涓叉暟緇勬垨瀛楃涓叉寚閽?銆傛湰杞歡涓嶅啀瀵瑰嚱鏁扮殑璋冪敤鏍?<br />寮忎綔璇︾粏璇存槑銆?<br />聽聽聽 鐜板湪鍐嶆潵鐪嬫墦寮鏂囦歡鍑芥暟鐨勭敤娉曘?<br />聽聽聽 fopen()鍑芥暟涓涓涓艦寮忓弬鏁拌〃紺烘枃浠跺悕, 鍙互鍖呭惈璺緞鍜屾枃浠跺悕涓ら儴鍒嗐?<br />濡? <br />聽聽聽聽 "B:TEST.DAT" <br />聽聽聽聽 "C:\\TC\\TEST.DAT" <br />聽聽聽 濡傛灉灝嗚礬寰勫啓鎴?C:\TC\TEST.DAT"鏄笉姝g‘鐨? 榪欎竴鐐硅鐗瑰埆娉ㄦ剰銆?<br />聽聽聽 絎簩涓艦寮忓弬鏁拌〃紺烘墦寮鏂囦歡鐨勭被鍨嬨傚叧浜庢枃浠剁被鍨嬬殑瑙勫畾鍙傝涓嬭〃銆?<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 琛?鏂囦歡鎿嶄綔綾誨瀷 <br />聽聽聽 鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣 <br />聽聽聽聽聽聽聽聽聽 瀛楃聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍚箟 <br />聽聽聽 鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 <br />聽聽聽聽聽聽聽聽聽聽 "r"聽聽聽聽聽聽聽聽聽聽 鎵撳紑鏂囧瓧鏂囦歡鍙 <br />聽聽聽聽聽聽聽聽聽聽 "w"聽聽聽聽聽聽聽聽聽聽 鍒涘緩鏂囧瓧鏂囦歡鍙啓 <br />聽聽聽聽聽聽聽聽聽聽 "a"聽聽聽聽聽聽聽聽聽聽 澧炶ˉ, 濡傛灉鏂囦歡涓嶅瓨鍦ㄥ垯鍒涘緩涓涓?<br />聽聽聽聽聽聽聽聽聽聽 "r+"聽聽聽聽聽聽聽聽聽 鎵撳紑涓涓枃瀛楁枃浠惰/鍐?<br />聽聽聽聽聽聽聽聽聽聽 "w+"聽聽聽聽聽聽聽聽聽 鍒涘緩涓涓枃瀛楁枃浠惰/鍐?<br />聽聽聽聽聽聽聽聽聽聽 "a+"聽聽聽聽聽聽聽聽聽 鎵撳紑鎴栧垱寤轟竴涓枃浠跺琛?<br />聽聽聽聽聽聽聽聽聽聽 "b"聽聽聽聽聽聽聽聽聽聽 浜岃繘鍒舵枃浠?鍙互鍜屼笂闈㈡瘡涓欏瑰悎鐢? <br />聽聽聽聽聽聽聽聽聽聽 "t"聽聽聽聽聽聽聽聽聽聽 鏂囪繖鏂囦歡(榛樿欏? <br />聽聽聽 鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣 <br />聽聽聽 濡傛灉瑕佹墦寮涓涓狢CDOS瀛愮洰褰曚腑, 鏂囦歡鍚嶄負CLIB鐨勪簩榪涘埗鏂囦歡, 鍙啓鎴? <br />聽聽聽聽 fopen("c:\\ccdos\\clib", "rb"); <br />聽聽聽 濡傛灉鎴愬姛鐨勬墦寮涓涓枃浠? fopen()鍑芥暟榪斿洖鏂囦歡鎸囬拡,聽聽 鍚﹀垯榪斿洖絀烘寚閽?<br />(NULL)銆傜敱姝ゅ彲鍒ゆ柇鏂囦歡鎵撳紑鏄惁鎴愬姛銆?<br />聽聽聽 2. fclose()鍑芥暟 <br />聽聽聽 fclose()鍑芥暟鐢ㄦ潵鍏抽棴涓涓敱fopen()鍑芥暟鎵撳紑鐨勬枃浠?, 鍏惰皟鐢ㄦ牸寮忎負: <br />聽聽聽聽聽 int fclose(FILE *stream); <br />聽聽聽 璇ュ嚱鏁拌繑鍥炰竴涓暣鍨嬫暟銆傚綋鏂囦歡鍏抽棴鎴愬姛鏃? 榪斿洖0,銆鍚﹀垯榪斿洖涓涓潪闆跺箋?<br />鍙互鏍規嵁鍑芥暟鐨勮繑鍥炲煎垽鏂枃浠舵槸鍚﹀叧闂垚鍔熴?<br />聽聽聽 渚?0: <br />聽聽聽聽 #iclude<stdio.h> <br />聽聽聽聽 main() <br />聽聽聽聽 { <br />聽聽聽聽聽聽聽聽聽 FILE *fp;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*瀹氫箟涓涓枃浠舵寚閽?/ <br />聽聽聽聽聽聽聽聽聽 int i; <br />聽聽聽聽聽聽聽聽聽 fp=fopen("CLIB", "rb");聽 /*鎵撳紑褰撳墠鐩綍鍚嶄負CLIB鐨勬枃浠跺彧璇?/ <br />聽聽聽聽聽聽聽聽聽 if(fp==NULL)聽聽聽聽聽聽聽聽聽聽聽聽 /*鍒ゆ柇鏂囦歡鏄惁鎵撳紑鎴愬姛*/ <br />聽聽聽聽聽聽聽聽聽聽聽聽 puts("File open error");/*鎻愮ず鎵撳紑涓嶆垚鍔?/ <br />聽聽聽聽聽聽聽聽聽 i=fclose(fp);聽聽聽聽聽聽聽聽聽聽聽 /*鍏抽棴鎵撳紑鐨勬枃浠?/ <br />聽聽聽聽聽聽聽聽聽 if(i==0)聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*鍒ゆ柇鏂囦歡鏄惁鍏抽棴鎴愬姛*/ <br />聽聽聽聽聽聽聽聽聽聽聽 printf("O,K");聽聽聽聽聽聽聽聽 /*鎻愮ず鍏抽棴鎴愬姛*/ <br />聽聽聽聽聽聽聽聽聽 else <br />聽聽聽聽聽聽聽聽聽聽聽 puts("File close error");/*鎻愮ず鍏抽棴涓嶆垚鍔?/ <br />聽聽聽聽 } <br /></font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 浜屻佹湁鍏蟲枃浠舵搷浣滅殑鍑芥暟 <br />聽聽聽 鏈妭鎵璁茬殑鏂囦歡璇誨啓鍑芥暟鍧囨槸鎸囬『搴忚鍐? 鍗寵鍐欎簡涓鏉′俊鎭悗, 鎸囬拡鑷姩 <br />鍔?銆備笅闈㈠垎鍒粙緇嶅啓鎿嶄綔鍑芥暟鍜岃鎿嶄綔鍑芥暟銆?<br /></font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 1. 鏂囦歡鐨勯『搴忓啓鍑芥暟 <br />聽聽聽 fprintf()銆乫puts()鍜宖putc()鍑芥暟 <br />聽聽聽 鍑芥暟fprintf()銆乫puts()鍜宖putc()鍧囦負鏂囦歡鐨勯『搴忓啓鎿嶄綔鍑芥暟,聽 鍏惰皟鐢ㄦ牸 <br />寮忓涓? <br />聽聽聽 int fprintf(FILE *stream, char *format, <variable-list>); <br />聽聽聽 int fputs(char *string, FILE *steam); <br />聽聽聽 int fputc(int ch, FILE *steam); <br />聽聽聽 涓婅堪涓変釜鍑芥暟鐨勮繑鍥炲煎潎涓烘暣鍨嬮噺銆俧printf() 鍑芥暟鐨勮繑鍥炲間負瀹為檯鍐欏叆鏂?<br />浠朵腑鐨勫瓧緗曚釜鏁?瀛楄妭鏁?銆傚鏋滃啓閿欒, 鍒欒繑鍥炰竴涓礋鏁? fputs()鍑芥暟榪斿洖0鏃?<br />琛ㄦ槑灝唖tring鎸囬拡鎵鎸囩殑瀛楃涓插啓鍏ユ枃浠朵腑鐨勬搷浣滄垚鍔? 榪斿洖闈?鏃?聽 琛ㄦ槑鍐欐搷 <br />浣滃け璐ャ俧putc()鍑芥暟榪斿洖涓涓悜鏂囦歡鎵鍐欏瓧絎︾殑鍊? 姝ゆ椂鍐欐搷浣滄垚鍔?聽 鍚﹀垯榪?<br />鍥濫OF(鏂囦歡緇撴潫緇撴潫鍏跺間負-1, 鍦╯tdio.h涓畾涔?琛ㄧず鍐欐搷浣滈敊璇?<br />聽聽聽聽 fprintf( ) 鍑芥暟涓牸寮忓寲鐨勮瀹氫笌printf( ) 鍑芥暟鐩稿悓,聽聽 鎵涓嶅悓鐨勫彧鏄?<br />fprintf()鍑芥暟鏄悜鏂囦歡涓啓鍏ャ傝宲rintf()鏄悜灞忓箷杈撳嚭銆?<br />聽聽聽 涓嬮潰浠嬬粛涓涓緥瀛? 榪愯鍚庝駭鍚庝竴涓猼est.dat鐨勬枃浠躲?<br />聽聽聽 渚?1: <br />聽聽聽聽 #include<stdio.h> <br />聽聽聽聽 main() <br />聽聽聽聽 { <br />聽聽聽聽聽聽聽聽聽 char *s="That's good news");聽 /*瀹氫箟瀛楃涓叉寚閽堝茍鍒濆鍖?/ <br />聽聽聽聽聽聽聽聽聽 int i=617;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*瀹氫箟鏁村瀷鍙橀噺騫跺垵濮嬪寲*/ <br />聽聽聽聽聽聽聽聽聽 FILE *fp;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*瀹氫箟鏂囦歡鎸囬拡*/ <br />聽聽聽聽聽聽聽聽聽 fp=fopne("test.dat", "w");聽聽聽 /*寤虹珛涓涓枃瀛楁枃浠跺彧鍐?/ <br />聽聽聽聽聽聽聽聽聽 fputs("Your score of TOEFLis", fp);/*鍚戞墍寤烘枃浠跺啓鍏ヤ竴涓插瓧絎?/ <br />聽聽聽聽聽聽聽聽聽 fputc(':', fp);聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*鍚戞墍寤烘枃浠跺啓鍐掑彿:*/ <br />聽聽聽聽聽聽聽聽聽 fprintf(fp, "%d\n", i);聽聽聽聽聽聽 /*鍚戞墍寤烘枃浠跺啓涓鏁村瀷鏁?/ <br />聽聽聽聽聽聽聽聽聽 fprintf(fp, "%s", s);聽聽聽聽聽聽聽聽 /*鍚戞墍寤烘枃浠跺啓涓瀛楃涓?/ <br />聽聽聽聽聽聽聽聽聽 fclose(fp);聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*鍏抽棴鏂囦歡*/ <br />聽聽聽聽 } <br />聽聽聽 鐢―OS鐨凾YPE鍛戒護鏄劇ずTEST.DAT鐨勫唴瀹瑰涓嬫墍紺? <br />聽聽聽 灞忓箷鏄劇ず <br />聽聽聽聽聽 Your score of TOEFL is: 617 <br />聽聽聽聽聽 That's good news <br /></font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 2. 鏂囦歡鐨勯『搴忚鎿嶄綔鍑芥暟 <br />聽聽聽 fscanf()銆乫gets()鍜宖getc()鍑芥暟 <br />聽聽聽 鍑芥暟fscanf()銆乫gets()鍜宖getc()鍧囦負鏂囦歡鐨勯『搴忚鎿嶄綔鍑芥暟, 鍏惰皟鐢ㄦ牸寮?<br />濡備笅: <br />聽聽聽聽 int fscanf(FILE *stream, char *format, <address-list>); <br />聽聽聽聽 char fgets(char *string, int n, FILE *steam); <br />聽聽聽聽 int fgetc(FILE *steam); <br />聽聽聽 fscanf()鍑芥暟鐨勭敤娉曚笌scanf()鍑芥暟鐩鎬技,聽聽 鍙槸瀹冩槸浠庢枃浠朵腑璇誨埌淇℃伅銆?<br />fscanf()鍑芥暟鐨勮繑鍥炲間負EOF(鍗?1), 琛ㄦ槑璇婚敊璇? 鍚﹀垯璇繪暟鎹垚鍔熴俧gets()鍑?<br />鏁頒粠鏂囦歡涓鍙栬嚦澶歯-1涓瓧絎?n鐢ㄦ潵鎸囧畾瀛楃鏁?, 騫舵妸瀹冧滑鏀懼叆string鎸囧悜鐨?<br />瀛楃涓蹭腑, 鍦ㄨ鍏ヤ箣鍚庤嚜鍔ㄥ悜瀛楃涓叉湭灝懼姞涓涓┖瀛楃, 璇繪垚鍔熻繑鍥瀞tring鎸囬拡, <br />澶辮觸榪斿洖涓涓┖鎸囬拡銆俧getc()鍑芥暟榪斿洖鏂囦歡褰撳墠浣嶇疆鐨勪竴涓瓧絎?聽 璇婚敊璇椂榪?<br />鍥濫OF銆?<br />聽聽聽 涓嬮潰紼嬪簭璇誨彇渚?1浜х敓鐨則est.dat鏂囦歡, 騫跺皢璇誨嚭鐨勭粨鏋滄樉紺哄湪灞忓箷涓娿?<br />聽聽聽 渚?2 <br />聽聽聽聽 #include<stdio.h> <br />聽聽聽聽 main() <br />聽聽聽聽 { <br />聽聽聽聽聽聽聽聽聽 char *s, m[20]; <br />聽聽聽聽聽聽聽聽聽 int i; <br />聽聽聽聽聽聽聽聽聽 FILE聽 *fp; <br />聽聽聽聽聽聽聽聽聽 fp=fopen("test.dat", "r");聽聽聽 /*鎵撳紑鏂囧瓧鏂囦歡鍙*/ <br />聽聽聽聽聽聽聽聽聽 fgets(s, 24, fp);聽聽聽聽聽聽聽聽聽聽聽聽 /*浠庢枃浠朵腑璇誨彇23涓瓧絎?/ <br />聽聽聽聽聽聽聽聽聽 printf("%s", s);聽聽聽聽聽聽聽聽聽聽聽聽聽 /*杈撳嚭鎵璇葷殑瀛楃涓?/ <br />聽聽聽聽聽聽聽聽聽 fscanf(fp, "%d", &i);聽聽聽聽聽聽聽聽 /*璇誨彇鏁村瀷鏁?/ <br />聽聽聽聽聽聽聽聽聽 printf("%d", i);聽聽聽聽聽聽聽聽聽聽聽聽聽 /*杈撳嚭鎵璇繪暣鍨嬫暟*/ <br />聽聽聽聽聽聽聽聽聽 putchar(fgetc(fp));聽聽聽聽聽聽聽聽聽聽 /*璇誨彇涓涓瓧絎﹀悓鏃惰緭鍑?/ <br />聽聽聽聽聽聽聽聽聽 fgets(m, 17, fp);聽聽聽聽聽聽聽聽聽聽聽聽 /*璇誨彇16涓瓧絎?/ <br />聽聽聽聽聽聽聽聽聽 puts(m);聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*杈撳嚭鎵璇誨瓧絎︿覆*/ <br />聽聽聽聽聽聽聽聽聽 fclose(fp);聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*鍏抽棴鏂囦歡*/ <br />聽聽聽聽聽聽聽聽聽 getch();聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*絳夊緟浠諱竴閿?/ <br />聽聽聽聽 } <br />聽聽聽 榪愯鍚庡睆騫曟樉紺? <br />聽聽聽 Your score of TOEFL is: 617 <br />聽聽聽 That's good news <br />聽聽聽 濡傛灉灝嗕笂渚嬩腑fscanf(fp, "%d", &i)鏀逛負fscanf(fp, "%s", m),聽 鍐嶅皢鍏跺悗 <br />鐨勮緭鍑鴻鍙ユ敼涓簆rintf("%s", m), 鍒欏彲寰楀嚭鍚屾牱鐨勭粨鏋溿傜敱姝ゅ彲瑙乀urbo C2. 0 <br />涓彧瑕佹槸璇繪枃瀛楁枃浠? 鍒欎笉璁烘槸瀛楃榪樻槸鏁板瓧閮藉皢鎸夊叾ASCII鍊煎鐞嗐?鍙﹀榪樿 <br />璇存槑鐨勪竴鐐瑰氨鏄痜scanf()鍑芥暟璇誨埌絀虹櫧絎︽椂, 渚胯嚜鍔ㄧ粨鏉? 鍦ㄤ嬌鐢ㄦ椂瑕佺壒鍒敞鎰忋?<br /></font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 3. 鏂囦歡鐨勯殢鏈鴻鍐?<br />聽聽聽 鏈夋椂鐢ㄦ埛鎯崇洿鎺ヨ鍙栨枃浠朵腑闂存煇澶勭殑淇℃伅, 鑻ョ敤鏂囦歡鐨勯『搴忚鍐欏繀欏諱粠鏂囦歡 <br />澶村紑濮嬬洿鍒拌姹傜殑鏂囦歡浣嶇疆鍐嶈, 榪欐樉鐒朵笉鏂逛究銆俆urbo C2.0鎻愪緵浜嗕竴緇勬枃浠剁殑 <br />闅忔満璇誨啓鍑芥暟, 鍗沖彲浠ュ皢鏂囦歡浣嶇疆鎸囬拡瀹氫綅鍦ㄦ墍瑕佹眰璇誨啓鐨勫湴鏂圭洿鎺ヨ鍐欍?<br />聽聽聽 鏂囦歡鐨勯殢鏈鴻鍐欏嚱鏁板涓? <br />聽聽聽 int fseek (FILE *stream, long offset, int fromwhere); <br />聽聽聽 int fread(void *buf, int size, int count, FILE *stream); <br />聽聽聽 int fwrite(void *buf, int size, int count, FILE *stream); <br />聽聽聽 long ftell(FILE *stream); <br />聽聽聽 fseek()鍑芥暟鐨勪綔鐢ㄦ槸灝嗘枃浠剁殑浣嶇疆鎸囬拡璁劇疆鍒頒粠fromwhere寮濮嬬殑絎琽ffset <br />瀛楄妭鐨勪綅緗笂, 鍏朵腑fromwhere鏄笅鍒楀嚑涓畯瀹氫箟涔嬩竴: <br />聽聽聽 鏂囦歡浣嶇疆鎸囬拡璧峰璁$畻浣嶇疆fromwhere <br />鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹?<br />聽聽聽 絎﹀彿甯告暟聽聽聽聽聽聽聽 鏁板悸犅犅犅犅犅犅犅犅犅?鍚箟 <br />鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 <br />聽聽聽 SEEK_SET聽聽聽聽聽聽聽聽聽 0聽聽聽聽聽聽聽 浠庢枃浠跺紑澶?<br />聽聽聽 SEEK_CUR聽聽聽聽聽聽聽聽聽 1聽聽聽聽聽聽聽 浠庢枃浠舵寚閽堢殑鐜拌浣嶇疆 <br />聽聽聽 SEEK_END聽聽聽聽聽聽聽聽聽 2聽聽聽聽聽聽聽 浠庢枃浠舵湯灝?<br />鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹?<br />聽聽聽 offset鏄寚鏂囦歡浣嶇疆鎸囬拡浠庢寚瀹氬紑濮嬩綅緗?fromwhere鎸囧嚭鐨勪綅緗?璺寵繃鐨勫瓧 <br />鑺傛暟銆傚畠鏄竴涓暱鏁村瀷閲? 浠ユ敮鎸佸ぇ浜?4K瀛楄妭鐨勬枃浠躲俧seek()鍑芥暟涓鑸敤浜庡 <br />浜岃繘鍒舵枃浠惰繘琛屾搷浣溿?<br />聽聽聽 褰揻seek()鍑芥暟榪斿洖0鏃惰〃鏄庢搷浣滄垚鍔? 榪斿洖闈?琛ㄧず澶辮觸銆?<br />聽聽聽 涓嬮潰紼嬪簭浠庝簩榪涘埗鏂囦歡test_b.dat涓鍙栫8涓瓧鑺傘?<br />聽聽聽 渚?3: <br />聽聽聽聽 #include<stdio.h> <br />聽聽聽聽 main() <br />聽聽聽聽 { <br />聽聽聽聽聽聽聽聽聽 FILE *fp; <br />聽聽聽聽聽聽聽聽聽 if((fp=fopen("test_b.dat", "rb"))==NULL) <br />聽聽聽聽聽聽聽聽聽聽聽 { <br />聽聽聽聽聽聽聽聽聽聽聽聽聽 printf("Can't open file"); <br />聽聽聽聽聽聽聽聽聽聽聽聽聽 exit(1); <br />聽聽聽聽聽聽聽聽聽聽聽 } <br />聽聽聽聽聽聽聽聽聽 fseek(fp, 8. 1, SEEK_SET); <br />聽聽聽聽聽聽聽聽聽 fgetc(fp); <br />聽聽聽聽聽聽聽聽聽 fclose(fp); <br />聽聽聽聽 } <br />聽聽聽 fread()鍑芥暟鏄粠鏂囦歡涓count涓瓧孌? 姣忎釜瀛楁闀垮害涓簊ize涓瓧鑺? 騫舵妸 <br />瀹冧滑瀛樻斁鍒癰uf鎸囬拡鎵鎸囩殑緙撳啿鍣ㄤ腑銆?<br />聽聽聽 fwrite()鍑芥暟鏄妸buf鎸囬拡鎵鎸囩殑緙撳啿鍣ㄤ腑, 闀垮害涓簊ize涓瓧鑺傜殑count涓瓧 <br />孌靛啓鍒皊tream鎸囧悜鐨勬枃浠朵腑鍘匯?<br />聽聽聽 闅忕潃璇誨拰鍐欏瓧鑺傛暟鐨勫澶? 鏂囦歡浣嶇疆鎸囩ず鍣ㄤ篃澧炲ぇ, 璇誨灝戜釜瀛楄妭, 鏂囦歡浣?<br />緗寚紺哄櫒鐩稿簲涔熻煩榪囧灝戜釜瀛楄妭銆傝鍐欏畬姣曞嚱鏁拌繑鍥炴墍璇誨拰鎵鍐欑殑瀛楁涓暟銆?<br />聽聽聽 ftell()鍑芥暟榪斿洖鏂囦歡浣嶇疆鎸囩ず鍣ㄧ殑褰撳墠鍊?聽 榪欎釜鍊兼槸鎸囩ず鍣ㄤ粠鏂囦歡澶村紑濮?<br />綆楄搗鐨勫瓧鑺傛暟, 榪斿洖鐨勬暟涓洪暱鏁村瀷鏁? 褰撹繑鍥?1鏃? 琛ㄦ槑鍑虹幇閿欒銆?<br />聽聽聽 涓嬮潰紼嬪簭鎶婁竴涓誕鐐規暟緇勪互浜岃繘鍒舵柟寮忓啓鍏ユ枃浠秚est_b.dat涓?<br />聽聽聽 渚?4: <br />聽聽聽聽 #include <stdio.h> <br />聽聽聽聽 main() <br />聽聽聽聽 { <br />聽聽聽聽聽聽聽聽聽 float f[6]={3.2, -4.34, 25.04, 0.1, 50.56, 80.5}; <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*瀹氫箟嫻偣鏁扮粍騫跺垵濮嬪寲*/ <br />聽聽聽聽聽聽聽聽聽 int i; <br />聽聽聽聽聽聽聽聽聽 FILE *fp; <br />聽聽聽聽聽聽聽聽聽 fp=fopen("test_b.dat", "wb"); /*鍒涘緩涓涓簩榪涘埗鏂囦歡鍙啓*/ <br />聽聽聽聽聽聽聽聽聽 fwrite(f, sizeof(float), 6, fp);/*灝?涓誕鐐規暟鍐欏叆鏂囦歡涓?/ <br />聽聽聽聽聽聽聽聽聽 fclose(fp);聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*鍏抽棴鏂囦歡*/ <br />聽聽聽聽 } <br />聽聽聽 涓嬮潰渚嬪瓙浠巘est_b.dat鏂囦歡涓100涓暣鍨嬫暟, 騫舵妸瀹冧滑鏀懼埌dat鏁扮粍涓?<br />聽聽聽 渚?5: <br />聽聽聽聽 #include <stdio.h> <br />聽聽聽聽 main() <br />聽聽聽聽 { <br />聽聽聽聽聽聽聽聽聽 FILE *fp; <br />聽聽聽聽聽聽聽聽聽 int dat[100]; <br />聽聽聽聽聽聽聽聽聽 fp=fopen("test_b.dat", "rb");/*鎵撳紑涓涓簩榪涘埗鏂囦歡鍙*/ <br />聽聽聽聽聽聽聽聽聽 if(fread(dat, sizeof(int), 100, fp)!=100) <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*鍒ゆ柇鏄惁璇諱簡100涓暟*/ <br />聽聽聽聽聽聽聽聽聽聽聽 { <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(feof(fp)) <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 printf("End of file"); /*涓嶅埌100涓暟鏂囦歡緇撴潫*/ <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 else <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 printf("Read error");聽 /*璇繪暟閿欒*/ <br />聽聽聽聽聽聽聽聽聽 fclose(fp);聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /*鍏抽棴鏂囦歡*/ <br />聽聽聽聽 } <br />聽聽聽 娉ㄦ剰: <br />聽聽聽 褰撶敤鏍囧噯鏂囦歡鍑芥暟瀵規枃浠惰繘琛岃鍐欐搷浣滄椂, 棣栧厛灝嗘墍璇誨啓鐨勫唴瀹規斁榪涚紦鍐插尯, <br />鍗沖啓鍑芥暟鍙杈撳嚭緙撳啿鍖鴻繘琛屾搷浣? 璇誨嚱鏁板彧瀵硅緭鍏ョ紦鍐插尯榪涜鎿嶄綔銆備緥濡傚悜涓 <br />涓枃浠跺啓鍏ュ唴瀹? 鎵鍐欑殑鍐呭灝嗛鍏堟斁鍦ㄨ緭鍑虹紦鍐插尯涓? 鐩村埌杈撳嚭緙撳啿鍖哄瓨婊℃垨 <br />浣跨敤fclose()鍑芥暟鍏抽棴鏂囦歡鏃? 緙撳啿鍖虹殑鍐呭鎵嶄細鍐欏叆鏂囦歡涓傝嫢鏃爁close() <br />鍑芥暟, 鍒欎笉浼氬悜鏂囦歡涓瓨鍏ユ墍鍐欑殑鍐呭鎴栧啓鍏ョ殑鏂囦歡鍐呭涓嶅叏銆傛湁涓涓緙撳啿鍖?<br />榪涜鍒鋒柊鐨勫嚱鏁? 鍗砯flush(), 鍏惰皟鐢ㄦ牸寮忎負: <br />聽聽聽 int fflush(FILE *stream); <br />聽聽聽 璇ュ嚱鏁板皢杈撳嚭緙撳啿鍖虹殑鍐呭瀹為檯鍐欏叆鏂囦歡涓? 鑰屽皢杈撳叆緙撳啿鍖虹殑鍐呭娓呴櫎鎺夈?<br /></font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 4. feof()鍜宺ewind()鍑芥暟 <br />聽聽聽 榪欎袱涓嚱鏁扮殑璋冪敤鏍煎紡涓? <br />聽聽聽聽 int feof(FILE *stream); <br />聽聽聽聽 int rewind(FILE *stream); <br />聽聽聽 feof()鍑芥暟媯嫻嬫枃浠朵綅緗寚紺哄櫒鏄惁鍒拌揪浜嗘枃浠剁粨灝?聽 鑻ユ槸鍒欒繑鍥炰竴涓潪0 <br />鍊? 鍚﹀垯榪斿洖0銆傝繖涓嚱鏁板浜岃繘鍒舵枃浠舵搷浣滅壒鍒湁鐢? 鍥犱負浜岃繘鍒舵枃浠朵腑,聽 鏂?<br />浠剁粨灝炬爣蹇桬OF涔熸槸涓涓悎娉曠殑浜岃繘鍒舵暟,聽 鍙畝鍗曠殑媯鏌ヨ鍏ュ瓧絎︾殑鍊兼潵鍒ゆ柇鏂?<br />浠舵槸鍚︾粨鏉熸槸涓嶈鐨勩傚鏋滈偅鏍風殑璇? 鍙兘浼氶犳垚鏂囦歡鏈粨灝捐岃璁や負緇撳熬, 鎵 <br />浠ュ氨蹇呴』鏈塮eof()鍑芥暟銆?<br />聽聽聽 涓嬮潰鐨勮繖鏉¤鍙ユ槸甯哥敤鐨勫垽鏂枃浠舵槸鍚︾粨鏉熺殑鏂規硶銆?<br />聽聽聽聽 while(!feof(fp)) <br />聽聽聽聽聽聽聽 fgetc(fp); <br />聽聽聽 while涓哄驚鐜鍙? 灝嗗湪涓嬮潰浠嬬粛銆?<br />聽聽聽 rewind()鍑芥暟鐢ㄤ簬鎶婃枃浠朵綅緗寚紺哄櫒縐誨埌鏂囦歡鐨勮搗鐐瑰, 鎴愬姛鏃惰繑鍥?,聽 鍚?<br />鍒? 榪斿洖闈?鍊箋?<br />聽 <br /></font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 1.2.2聽 闈炴爣鍑嗘枃浠跺嚱鏁?<br />聽聽聽 榪欑被鍑芥暟鏈鏃╃敤浜嶶NIX鎿嶄綔緋葷粺, ANSI鏍囧噯鏈畾涔?聽聽 浣嗘湁鏃朵篃緇忓父鐢ㄥ埌, <br />DOS 3.0浠ヤ笂鐗堟湰鏀寔榪欎簺鍑芥暟銆傚畠浠殑澶存枃浠朵負io.h銆?<br />聽聽聽 涓銆佹枃浠剁殑鎵撳紑鍜屽叧闂?<br />聽聽聽 1. open()鍑芥暟 <br />聽聽聽 open()鍑芥暟鐨勪綔鐢ㄦ槸鎵撳紑鏂囦歡, 鍏惰皟鐢ㄦ牸寮忎負: <br />聽聽聽聽 int open(char *filename, int access); <br />聽聽聽 璇ュ嚱鏁拌〃紺烘寜access鐨勮姹傛墦寮鍚嶄負filename鐨勬枃浠? 榪斿洖鍊間負鏂囦歡鎻忚堪瀛? <br />鍏朵腑access鏈変袱閮ㄥ垎鍐呭: 鍩烘湰妯″紡鍜屼慨楗扮, 涓よ呯敤" "("鎴?)鏂瑰紡榪炴帴銆備慨 <br />楗扮鍙互鏈夊涓? 浣嗗熀鏈ā寮忓彧鑳芥湁涓涓俛ccess鐨勮瀹氬琛?-2銆?<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 琛?access鐨勮瀹?<br />鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣 <br />鍩烘湰妯″紡聽聽聽 鍚箟聽聽聽 淇グ絎β犅犅犅犅犅犅犅?鍚?涔?<br />鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 <br />O_RDONLY聽聽聽 鍙聽聽 O_APPEND聽聽 鏂囦歡鎸囬拡鎸囧悜鏈熬 <br />O_WRONLY聽聽聽 鍙啓聽聽 O_CREAT聽聽聽 鏂囦歡涓嶅瓨鍦ㄦ椂鍒涘緩鏂囦歡, <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 灞炴ф寜鍩烘湰妯″紡灞炴?<br />O_RDWR聽聽聽聽聽 璇誨啓聽聽 O_TRUNC聽聽聽 鑻ユ枃浠跺瓨鍦? 灝嗗叾闀垮害 <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 緙╀負0, 灞炴т笉鍙?<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 O_BINARY聽聽 鎵撳紑涓涓簩榪涘埗鏂囦歡 <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 O_TEXT聽聽聽聽 鎵撳紑涓涓枃瀛楁枃浠?<br />鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣 <br />聽聽聽 open()鍑芥暟鎵撳紑鎴愬姛, 榪斿洖鍊煎氨鏄枃浠舵弿榪板瓧鐨勫?闈炶礋鍊?, 鍚﹀垯榪斿洖-1銆?<br /></font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 2. close()鍑芥暟 <br />聽聽聽 close()鍑芥暟鐨勪綔鐢ㄦ槸鍏抽棴鐢眔pen()鍑芥暟鎵撳紑鐨勬枃浠? 鍏惰皟鐢ㄦ牸寮忎負: <br />聽聽聽聽 int close(int handle); <br />聽聽聽 璇ュ嚱鏁板叧闂枃浠舵弿榪板瓧handle鐩歌繛鐨勬枃浠躲?<br /></font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 浜屻佽鍐欏嚱鏁?<br />聽聽聽 1. read()鍑芥暟 <br />聽聽聽 read()鍑芥暟鐨勮皟鐢ㄦ牸寮忎負: <br />聽聽聽聽 int read(int handle, void *buf, int count); <br />聽聽聽 read()鍑芥暟浠巋andle(鏂囦歡鎻忚堪瀛?鐩歌繛鐨勬枃浠朵腑, 璇誨彇count涓瓧鑺傛斁鍒癰uf <br />鎵鎸囩殑緙撳啿鍖轟腑, 榪斿洖鍊間負瀹為檯鎵璇誨瓧鑺傛暟, 榪斿洖-1琛ㄧず鍑洪敊銆傝繑鍥? 琛ㄧず鏂囦歡 <br />緇撴潫銆?<br /></font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 2. write()鍑芥暟 <br />聽聽聽 write()鍑芥暟鐨勮皟鐢ㄦ牸寮忎負: <br />聽聽聽聽 int write(int handle, void *buf, int count); <br />聽聽聽 write()鍑芥暟鎶奵ount涓瓧鑺備粠buf鎸囧悜鐨勭紦鍐插尯鍐欏叆涓巋andle鐩歌繛鐨勬枃浠朵腑, <br />榪斿洖鍊間負瀹為檯鍐欏叆鐨勫瓧鑺傛暟銆?<br />聽 <br />聽聽聽 涓夈侀殢鏈哄畾浣嶅嚱鏁?<br />聽聽聽 1. lseek()鍑芥暟 <br />聽聽聽 lseek()鍑芥暟鐨勮皟鐢ㄦ牸寮忎負: <br />聽聽聽聽 int lseek(int handle, long offset, int fromwhere); <br />聽聽聽 璇ュ嚱鏁板涓巋andle鐩歌繛鐨勬枃浠朵綅緗寚閽堣繘琛屽畾浣? 鍔熻兘鍜岀敤娉曚笌fseek() 鍑?<br />鏁扮浉鍚屻?<br /></font> </p> <p> <font style="BACKGROUND-COLOR: #ffffff" color="#000000">聽聽聽 2. tell()鍑芥暟 <br />聽聽聽 tell()鍑芥暟鐨勮皟鐢ㄦ牸寮忎負: <br />聽聽聽聽 long tell(int handle); <br />聽聽聽 璇ュ嚱鏁拌繑鍥炰笌handle鐩歌繛鐨勬枃浠剁幇鐢熶綅緗寚閽? 鍔熻兘鍜岀敤娉曚笌ftell()鐩稿悓銆?</font> </p> <img src ="http://www.shnenglu.com/qjbest/aggbug/5580.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qjbest/" target="_blank">Q</a> 2006-04-14 21:05 <a href="http://www.shnenglu.com/qjbest/archive/2006/04/14/5580.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>memset ,memcpy 鍜宻trcpy 鐨勬牴鏈尯鍒?http://www.shnenglu.com/qjbest/archive/2006/04/14/5549.htmlQQFri, 14 Apr 2006 08:55:00 GMThttp://www.shnenglu.com/qjbest/archive/2006/04/14/5549.htmlhttp://www.shnenglu.com/qjbest/comments/5549.htmlhttp://www.shnenglu.com/qjbest/archive/2006/04/14/5549.html#Feedback0http://www.shnenglu.com/qjbest/comments/commentRss/5549.htmlhttp://www.shnenglu.com/qjbest/services/trackbacks/5549.html 榪欐鍦ㄥ伐浣滀笂鍒嗗埆閬囧埌榪噑trcpy銆乵emset銆乵emcpy錛屼篃鍦ㄧ綉緇滀笂鐪嬪埌榪囦竴浜涘叧浜庝笁鑰呭尯鍒殑鏂囩珷錛岀綏鍒楀ぇ姒傚唴瀹瑰涓?
strcpy()鏉ヨ嚜C璇█錛屽湪C++閲屽緱浠ヤ繚鐣欍傞鍏堬紝瑕佹寚鏄庣殑鏄紝C++閲宻trcpy()閲屾帴鍙楃殑鍙傛暟鏄疌-涓詫紝騫墮潪string,鏇翠笉鍙兘鏄叾浠栫被鍨嬬殑鏁版嵁銆傚畠琛ㄧず涓涓瓧涓茬殑鍐呭鎷瘋礉鍒板彟涓涓瓧涓層傛嫹璐濅細鍦ㄦ簮瀛椾覆閲岀涓涓?\0'鏃跺仠姝㈡嫹璐?
strcpy(鐩爣瀛椾覆錛屾簮瀛椾覆);
ex:
char *temp1,*temp2="test";
strcpy(temp1,temp2);

memset()涓昏鐢ㄤ簬瀵逛竴涓唴瀛樺尯鍩熷垵濮嬪寲銆備竴鑸敤鍦ㄥ瓧絎︽暟緇勪笂錛岃嚦灝戞垜鐜板湪宸ヤ綔涓婇亣鍒扮殑澶氫負榪欐牱鐨勬儏鍐點?
memset(鐩爣鍐呭瓨絀洪棿錛屾嫹璐濆唴瀹癸紝闄愬埗)錛?br /> ex:
char temp[30];
memset(temp,'\0',sizeof(temp));
姝e涓婇潰鎵瑙侊紝char temp[30]鍙槸鍒嗛厤浜嗕竴瀹氱殑鍐呭瓨絀洪棿緇欒瀛楃鏁扮粍錛屼絾騫舵湭鍒濆鍖栬鍐呭瓨絀洪棿錛屽嵆鏁扮粍銆傛墍浠ワ紝闇瑕佷嬌鐢╩emset()鏉ヨ繘琛屽垵濮嬪寲銆?br />
memcpy() 闄や簡鍜宻trcpy()涓鏍瘋兘鎷瘋礉瀛椾覆澶栵紝榪樺彲浠ユ嫹璐濆叾浠栦換浣曠被鍨嬬殑鏁版嵁.
ex:
int a[3],b[4];
b[4]={0,1,2,3};
memcpy(a,b,sizeof(a)); //鑻ヤ負sizeof(b),鍒欎細閫犳垚鏁扮粍a[]鍐呭瓨澶栨孩

錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳
濡備笅鍐呭涓虹綉緇溾滃師鐗堚濆唴瀹?br />Memset鐢ㄦ潵瀵逛竴孌靛唴瀛樼┖闂村叏閮ㄨ緗負鏌愪釜瀛楃錛屼竴鑸敤鍦ㄥ瀹氫箟鐨勫瓧絎︿覆榪涜鍒濆鍖栦負鈥?鈥?/span>鎴?/span>鈥榎0鈥?/st1:chmetcnv>錛?/span>

渚?/span> :char a[100];memset(a, '\0', sizeof(a));

聽聽聽 memset 鍙互鏂逛究鐨勬竻絀轟竴涓粨鏋勭被鍨嬬殑鍙橀噺鎴栨暟緇勩?/span>

濡傦細

struct sample_struct
{
聽char 聽 csName[16];
聽int 聽 聽iSeq;
聽int 聽 聽iType;
};

瀵逛簬鍙橀噺
struct sample_strcut 聽stTest;

涓鑸儏鍐典笅錛屾竻絀?/span> stTest 鐨勬柟娉曪細

stTest.csName[0]='\0';
stTest.iSeq=0;
stTest.iType=0;

鐢?/span> memset 灝遍潪甯告柟渚匡細
memset(&stTest,0,sizeof(struct sample_struct));

濡傛灉鏄暟緇勶細

struct sample_struct 聽 TEST[10];
鍒?/span>

memset(TEST,0,sizeof(struct sample_struct)*10);

memcpy 鐢ㄦ潵鍋氬唴瀛樻嫹璐濓紝浣犲彲浠ユ嬁瀹冩嫹璐濅換浣曟暟鎹被鍨嬬殑瀵硅薄錛屽彲浠ユ寚瀹氭嫹璐濈殑鏁版嵁闀垮害銆?/span>

渚嬶細 char a[100],b[50]; memcpy(b, a, sizeof(b)); 娉ㄦ剰濡傜敤 sizeof(a) 錛屼細閫犳垚 b 鐨勫唴瀛樺湴鍧婧㈠嚭銆?/span>

Strcpy聽聽 灝卞彧鑳芥嫹璐濆瓧絎︿覆浜嗭紝瀹冮亣鍒?/span> '\0' 灝辯粨鏉熸嫹璐濄?/span>

渚嬶細 char a[100],b[50];strcpy(a,b); 濡傜敤 strcpy(b,a) 錛岃娉ㄦ剰 a 涓殑瀛楃涓查暱搴︼紙絎竴涓?/span> 鈥榎0鈥?/st1:chmetcnv> 涔嬪墠錛夋槸鍚﹁秴榪?/span> 50 浣嶏紝濡傝秴榪囷紝鍒欎細閫犳垚 b 鐨勫唴瀛樺湴鍧婧㈠嚭銆?/span>

str 涔熷彲浠ョ敤鐢ㄤ釜鍙傛暟鐨?/span> strncpy(a,b,n)

========================================================

memset 涓昏搴旂敤鏄垵濮嬪寲鏌愪釜鍐呭瓨絀洪棿銆?/span>
memcpy
鏄敤浜?/span> copy 婧愮┖闂寸殑鏁版嵁鍒扮洰鐨勭┖闂翠腑銆?/span>
strcpy
鐢ㄤ簬瀛楃涓?/span> copy, 閬囧埌 鈥榎0鈥?/st1:chmetcnv> 錛屽皢緇撴潫銆?/span>

濡傛灉浣犵悊瑙d簡榪欎簺錛屼綘搴旇鐭ラ亾浠栦滑鐨勫尯鍒細渚嬪浣犲垵濮嬪寲鏌愬潡絀洪棿鐨勬椂鍊欙紝鐢ㄥ埌 memcpy 錛岄偅涔堝簲璇ユ庝箞鍐欙紝鏄笉鏄樉寰楀緢絎ㄣ?/span>
int 聽m[100]
->memset((void*)m,0x00,sizeof(int)*100);//Ok
錛?/span>
鈥emcpy((void*)m,"\0\0\0\0....",sizeof(int)*100);//it鈥檚 wrong.





Q 2006-04-14 16:55 鍙戣〃璇勮
]]>
鍐呭瓨鍒嗛厤錛氫簩http://www.shnenglu.com/qjbest/archive/2006/03/30/4834.htmlQQThu, 30 Mar 2006 14:36:00 GMThttp://www.shnenglu.com/qjbest/archive/2006/03/30/4834.htmlhttp://www.shnenglu.com/qjbest/comments/4834.htmlhttp://www.shnenglu.com/qjbest/archive/2006/03/30/4834.html#Feedback0http://www.shnenglu.com/qjbest/comments/commentRss/4834.htmlhttp://www.shnenglu.com/qjbest/services/trackbacks/4834.html鏉ヨ嚜CSDN鐨勯棶棰?


涓句釜渚嬪瓙
=======================
Name *name1=new Name[4];
Name *name2=new Name();
鍋囪Name綾繪湁涓鏂規硶void show();
======================
鎴戜竴鐩翠互涓虹敱浜庨兘鏄敱new 鏋勬垚鐨勶紝鎵浠ワ紝絎竴涓猲ame 鍜岀浜屼釜name閮芥槸鎸囬拡銆備粖澶╁垰濂界敤絎竴涓被瀵硅薄鐨勬柟娉?name1[0]->show(); 緙栬瘧鍣ㄥ氨鎶ラ敊錛屽綋鎴戞崲鎴恘ame1[0].show();鏃跺欙紝灝辮兘姝g‘榪愯浜?br />鎯寵闂笅澶у錛屾棦鐒跺姩鎬佸唴瀛樻槸鐢眓ew鍒嗛厤鐨勶紝閭ame1搴旇涔熸槸鎸囬拡鍟婏紝鍥犱負name1鍓嶆湁涓?錛堝嵆*name1錛夛紝騫朵笖鍙堟槸鍙坣ew鍒嗛厤絀洪棿鐨勩備絾鏄畠璋冪敤鏂規硶鏃跺欏嵈鍙堝彧鏄〃鐜板嚭鍙槸涓狽ame[]鐨勬暟緇勫厓绱犮?br />鏈夋湅鍙嬭兘鍛婅瘔涓嬫垜鍒板簳浠涔堟牱鐨刵ew 鎵嶇畻鐪熸鐨勫姩鎬佸唴瀛樺垎閰嶏紝鎵嶇畻鎸囬拡鍚楋紵錛燂紵
璋㈣阿錛侊紒錛?br />
浠ヤ笅涓鴻В絳斿唴瀹癸紝鍚勬涓轟竴涓В絳斻?br />

name1鏄暟緇勬寚閽?name1[0]灝辨槸鏁扮粍涓殑鍊間簡.

浣犲彲浠ョ洿鎺ョ敤name1->鏉ヨ皟鐢?
name1灝辨槸鎸囬拡,瀹冨拰name2騫舵病鏈変粈涔堜笉鍚?鍚屾牱浣犱篃鍙互鐢╪ame2[0].鏉ヨ皟鐢ㄥ嚱鏁?

Name[0]鎸囩殑鏄暟緇勪腑鐨勭涓涓厓绱狅紝涓嶆槸涓寚閽垀~~~~~~
鍦ㄥ畾涔塏ame *name1=new Name[4]鏃秐ame1紜疄鏄釜鎸囬拡錛屼粬鎸囧悜浜嗘暟緇凬ame[] 鑰岀敤name1->show()搴旇鏄紜殑錛岃繖鏍風殑璇濆氨鐩稿綋浜庡皢鍑芥暟show鐨勯鍦板潃緇欎簡name1錛?Name *name2=new Name();琛ㄧず寮杈熶簡涓涓嚱鏁癗ame鐨勫唴瀛樺湴鍧錛宯ame2琛ㄧず浜嗚繖涓嚱鏁扮殑棣栧湴鍧

鎴戜竴鐩翠互涓虹敱浜庨兘鏄敱new 鏋勬垚鐨勶紝鎵浠ワ紝絎竴涓猲ame 鍜岀浜屼釜name閮芥槸鎸囬拡銆?br />錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞
姝f槸濡傛錛?br />閮芥槸鎸囬拡錛屼絾鏄?name1[0]灝辨槸鍊間簡 ... 鍚屾牱錛宯ame2[0]涔熸槸涓涓鹼紝妤間富鑷繁璇曡瘯灝辯煡閬撲簡 ..

Name *name2=new Name();
//棣栧厛鏋勯燦ame()榛樿鏋勯犲嚱鏁板璞$劧鍚巒ew鍑哄璞℃嫹璐濇瀯閫犲嚭鏉?br />Name *name2=new Name[3]錛?br />//鏄厛鍒嗛厤絀洪棿鐒跺悗鏋勯犲璞?

Name1[0]鏄釜瀵硅薄錛堝鏋滀綘鎷瘋礉浜嗗叾浠栧璞$粰浠栵紝褰撶劧浣犳槸瑕佹嫹緇欎粬鎵嶈兘鐢級
Name1,Name2閮芥槸鎸囬拡

鍜?br />int* p1 = new int[4];
int* p2 = new int;
涓鏍?

鎸囬拡鏄繖鏍風敤婊磣~~
for(int i = 0;i < 4; i++) {
(name1+i)->show();
}

name2 鏄瀯閫犲崟涓璞℃寚閽?br />name1鏄瀯閫犲洓涓璞$殑鎸囬拡銆傚叿浣撳埌姣忎竴涓璞″氨涓嶆槸鎸囬拡錛岃屾槸鏁扮粍

//#include
class A
{
public:
int a;
int& get(){return a;};
void set(int i){ a=i;};
A()
{
a=1;
};
};
int main()
{
//
A* a1=new A();
A* a2=new A();
A* pA[2]={a1,a2};
int b=pA[0]->get();
//
int pI[2]={1,2};
int sum=pI[1]+pI[2];
//
A* pB=new A[2];
pB[1].set(1);
int x=pB[1].a;
return 0;

}

鏄寚閽?浣嗘槸鏄暟緇勭殑鎸囬拡
姣斿榪欐牱
name *p = new name[4];
p->show()鐩稿綋浜巔[0].show();
閫氫織鐨勮,浣犲湪瀹氫箟鐨勬椂鍊欑殑閭d釜name*涓殑*鍙鋒寚鐨勬槸瀵硅薄鏁扮粍,騫朵笉鏄璞℃寚閽?

name1[0]->show();閲岀殑name1[0]鏀規垚name1灝監K浜嗐傛ゼ涓誨彲浠ヨˉ涓琛ユ暟緇勭殑鏈夊叧鐭ヨ瘑銆?br />
========================================================
copy浜嗚繖綃囨枃绔狅紝鍏跺疄鎴戝彧鎯寵涓嬫垜鐨勭湅娉曘?br />Name *p=new Name[4];
p->show();聽聽聽聽聽 //姝g‘
p[0].show();聽聽聽 //姝g‘
絎竴涓彲浠ヨ繖鏍風悊瑙o細鎸囬拡P鎸囧悜鏁扮粍棣栧湴鍧錛屽叾瀹炲氨鏄疨鎸囧悜Name[4]鏁扮粍涓涓涓厓绱犵殑鍦板潃錛屾墍浠ワ紝濡傛灉浣跨敤p->show(),鍒欐剰鎬濆叾瀹炲氨鏄鏁扮粍涓涓涓厓绱狅紝鍗崇涓涓璞ame璋冪敤鑷韓show(),鍐嶈鐧界偣錛屽氨鏄痭ame.show()錛?br />絎?涓彲浠ヨ繖鏍風悊瑙o細p[0]鍙互鐞嗚В鎴怭鎸囧悜鏁扮粍涓[0]涓厓绱狅紝鎵浠ュ氨鏈変簡p[0]錛屾墍浠ユ洿浼氭湁浜唒[0].show();



Q 2006-03-30 22:36 鍙戣〃璇勮
]]>鍐呭瓨鍒嗛厤:涓http://www.shnenglu.com/qjbest/archive/2006/03/30/4832.htmlQQThu, 30 Mar 2006 14:02:00 GMThttp://www.shnenglu.com/qjbest/archive/2006/03/30/4832.htmlhttp://www.shnenglu.com/qjbest/comments/4832.htmlhttp://www.shnenglu.com/qjbest/archive/2006/03/30/4832.html#Feedback0http://www.shnenglu.com/qjbest/comments/commentRss/4832.htmlhttp://www.shnenglu.com/qjbest/services/trackbacks/4832.htmlC++鍐呭瓨鍒嗛厤鏈変袱縐嶏細闈欐佸垎閰嶅拰鍔ㄦ佸垎閰嶃?br />涓句釜綆鍗曠殑渚嬪瓙濡備笅
int a=1024;
瀵硅薄a鐨勫唴瀛樼┖闂村氨鏄潤鎬佸垎閰嶇殑錛屾槸鍦ㄧ紪璇戝櫒瀵圭▼搴忚繘琛岀紪璇戞椂鍒嗛厤鐨勶紝褰撶劧瀵瑰畠絀洪棿鐨勫洖鏀朵篃鏄紪璇戝櫒鑷姩瀹屾垚鐨勶紝寮鍙戣呭彧闇瑕佺煡閬撹繖涓簨瀹炲氨濂斤紝涓嶉渶瑕佹垜浠樉紺虹殑鍥炴敹銆?br />
int *p=new int(1024);
鍏堟潵璇翠笅榪欏彞紼嬪簭鐨勬剰鎬濓細鐜板湪鍒嗛厤涓涓柊鐨勭┖闂寸粰涓涓病鏈夊悕瀛楃殑Int鍨嬪璞★紝騫朵笖涓鴻繖涓┖闂磋祴浜堝垵濮嬪寲鏁板間負1024銆傜敱浜庤Int鍨嬪璞℃病鏈夊悕瀛楋紝鎵浠ュ鏋滈渶瑕佽闂畠鐨勮瘽錛屽氨闇瑕佷嬌鐢ㄦ寚閽堟潵鎸囧悜璇ュ璞℃墍鍦ㄧ殑鍐呭瓨鍦板潃銆傛敞鎰忥紝new int(1024)榪欎釜琛ㄨ揪寮忚繑鍥炵殑鏄娌℃湁鍚嶅瓧鐨勫璞$殑鍐呭瓨鍦板潃銆?br />
int *p=new int[1024];
榪欎釜鍜屼笂闈㈢殑灝辨湁鐐逛笉涓鏍蜂簡銆傚彲浠ョ湅鐨勫嚭錛岃繖涓槸鍔ㄦ佸垎閰嶆暟緇勶紝榪欎釜P鍙暟緇勬寚閽堛傛剰鎬濇槸浠涔堝憿錛氱幇鍦ㄥ垎閰嶆柊鐨勭┖闂寸粰鏁扮粍閲岄潰鐨?024涓厓绱狅紝浣嗘槸榪?024涓厓绱犳垜浠病鏈夊姙娉曟樉寮忕殑涓哄畠浠垎閰嶅垵濮嬪寲鏁板箋傚茍涓旇繖涓寚閽堝彧鎸囧悜榪欎釜鏁扮粍絎竴涓厓绱犵殑鍦板潃銆傚鏋滄兂瑕佽闂叾浠栨暟緇勫厓绱狅紝鍙互鐢?p++鏉ュ疄鐜般?br />
鏃㈢劧涓婇潰涓や釜new 閮芥槸鍔ㄦ佸垎閰嶇殑錛岄偅涔堣嚜鐒墮渶瑕佹墜鍔ㄥ垹闄ゆ墍鍒嗛厤鐨勭┖闂翠簡銆?br />絎竴涓槸 delete p;
絎簩涓槸 delete[] p;


Q 2006-03-30 22:02 鍙戣〃璇勮
]]>涓嶈兘鏉炬噲錛屽姫鍔涚湅C++ Primerhttp://www.shnenglu.com/qjbest/archive/2006/03/05/3756.htmlQQSun, 05 Mar 2006 09:42:00 GMThttp://www.shnenglu.com/qjbest/archive/2006/03/05/3756.htmlhttp://www.shnenglu.com/qjbest/comments/3756.htmlhttp://www.shnenglu.com/qjbest/archive/2006/03/05/3756.html#Feedback0http://www.shnenglu.com/qjbest/comments/commentRss/3756.htmlhttp://www.shnenglu.com/qjbest/services/trackbacks/3756.html鍙兘鏄垜鐪兼嫏錛屾櫘閬嶅彈嬈㈣繋鐨凜++ 緙栫▼鎬濇兂錛圛I錛夋垜灞呯劧鐪嬬潃瑙夊緱寰堟櫘閫氾紝鍐欑殑鎬濊礬鏄湁鐐規柊椴滐紝浣嗘槸鎵鍙欒堪鐨勫唴瀹瑰嵈鏈夌偣娉涙硾鑰岃皥錛岃浜轟笉鑳藉畬鍏ㄨ繃鐦劇殑鎰熻銆傛湁鐨勬枃瀛楀眳鐒惰繕涓嶉氾紝璁╀漢鐪嬩簡瑙夊緱鏈夌偣鑾悕鍏跺銆傝繖鍙兘灝辨槸澶у鏅亶璁や負鐨勪腑鏂囩増涓嶅ソ鐨勫湴鏂瑰惂銆?img height="20" src="http://www.shnenglu.com/Emoticons/hitwall.gif" width="25" border="0" />浜庢槸杞悜鍘葷湅C++ Primer錛圛II錛夎繖鏈ぇ閮ㄥご錛屾劅瑙夊啓鐨勫緢涓嶉敊錛岃櫧鐒舵彁鍓嶈瑙d簡OOP鏂歸潰鐨勫唴瀹癸紝鎴栬浼氳寰堝鏂版墜瑙夊緱涓澶撮浘姘達紝浣嗘槸紜疄鏄鐨勯兘鏄簿鍗庣殑涓滆タ錛堝惉璇存湁浜涗漢鍥犱負鐪嬩簡C++ Primer鍚庡眳鐒舵姇濂擩AVA鍘諱簡錛屽洜涓哄ぇ澶氳寰楄嚜宸辮繛Primer榪欐牱鐨勪功閮界湅鐨勪笉鎳?img height="20" src="http://www.shnenglu.com/Emoticons/QQ/02.gif" width="20" border="0" />錛夈備釜浜烘劅瑙夐挶鑳借佸笀鐨凜++紼嬪簭璁捐錛圛I錛夊啓鐨剆o good錛岃櫧鐒舵湁浜涙柟闈㈡病鏈夌紪紼嬫濇兂鍜孭rimer鍐欑殑璇︾粏錛岀敋鑷蟲病鏈夋秹鍙婏紝浣嗘槸紜疄涓轟竴鏈叆闂ㄧ駭濂戒功銆傝繕鏈変竴鏈氨鏄疭AMS鐨?1澶╁閫欳++錛圴錛夛紝鍙互璇存槸瀵歸挶鑳借佸笀涔﹀唴瀹圭殑鐩稿閮ㄥ垎鐨勮ˉ鍏咃紝澶у鍙互鍘葷湅涓?聽錛歅聽聽 甯屾湜鑷繁鑳藉姫鍔涚湅瀹岀綉緇滀笂鎻愬埌鐨勫緢澶氱粡鍏鎬功綾嶏紝鎻愰珮鑷繁鍦–++鎬濇兂鏂歸潰鐨勮璇嗭紝鏃╂棩榪涘叆C++涓駭鑰呰鍒楋紙铏界劧鏈漢鐜板湪榪樻槸鏂版墜錛夈?br />+U錛?/font>

Q 2006-03-05 17:42 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美亚洲成人免费| 国内综合精品午夜久久资源| 久久久精品tv| 理论片一区二区在线| 久久乐国产精品| 欧美日韩一区二区三区在线| 欧美激情精品久久久久| 一区二区三区黄色| 国产精自产拍久久久久久蜜| 久久精品亚洲精品国产欧美kt∨| 久久天天躁夜夜躁狠狠躁2022| 亚洲黄色影院| 欧美日韩你懂的| 校园春色综合网| 国产美女精品| 欧美成人一品| 久久激情视频久久| 99亚洲一区二区| 蜜臀av国产精品久久久久| 制服丝袜亚洲播放| 亚洲大胆视频| 狠狠色伊人亚洲综合网站色| 欧美日韩一本到| 欧美久久99| 欧美国产高清| 欧美激情网站在线观看| 久久国产精品亚洲va麻豆| 这里只有精品视频在线| 亚洲免费观看视频| 亚洲黑丝一区二区| 欧美大片第1页| 欧美激情第五页| 亚洲国产精品成人精品| 欧美77777| 亚洲电影免费观看高清完整版在线| 久久偷窥视频| 免费看黄裸体一级大秀欧美| 久久成人亚洲| 久久青青草综合| 欧美福利网址| 亚洲精品永久免费精品| 亚洲小视频在线观看| 羞羞答答国产精品www一本| 欧美在线视频观看| 久久三级视频| 欧美日韩免费观看一区二区三区| 欧美日韩精品一区二区三区四区 | 亚洲欧美日韩一区| 亚洲视频高清| 久久夜色撩人精品| 国产精品成人v| 亚洲国产99| 欧美一区二区三区在| 亚洲国产成人精品视频| 日韩午夜高潮| 嫩草影视亚洲| 欧美一区二区三区在线播放| 老司机凹凸av亚洲导航| 国产精品进线69影院| 亚洲国产天堂久久综合| 午夜视频在线观看一区| 欧美激情自拍| 欧美一区深夜视频| 欧美午夜不卡影院在线观看完整版免费| 国模叶桐国产精品一区| 亚洲午夜一区二区| 亚洲欧洲在线一区| 久久综合伊人77777蜜臀| 国产亚洲一区二区三区| 亚洲欧美日韩电影| 亚洲私人黄色宅男| 国产精品a久久久久| 亚洲精选视频免费看| 亚洲国产日韩欧美| 欧美区视频在线观看| 亚洲精品视频免费观看| 欧美激情视频免费观看| 久热爱精品视频线路一| 一区二区三区在线免费视频| 老牛影视一区二区三区| 久久久五月婷婷| 最近中文字幕mv在线一区二区三区四区| 久久视频国产精品免费视频在线| 亚洲欧美一区二区原创| 狠狠色综合网站久久久久久久| 久久露脸国产精品| 免费一区二区三区| 亚洲视频中文| 久久精品欧美日韩精品| 在线日韩中文| 亚洲午夜精品视频| 狠久久av成人天堂| 亚洲精品孕妇| 在线国产精品一区| 亚洲片在线资源| 国产在线拍揄自揄视频不卡99| 久久久www成人免费无遮挡大片 | 亚洲啪啪91| 亚洲一区二区免费在线| 国产真实久久| 在线视频一区观看| 亚洲日本va午夜在线电影| 一本久久a久久精品亚洲| 在线观看成人网| 亚洲一二三区视频在线观看| 亚洲日本乱码在线观看| 欧美一区二区三区男人的天堂| 99亚洲一区二区| 欧美成人免费va影院高清| 久久精品成人一区二区三区| 国产精品第十页| 一区二区三区视频观看| 亚洲视频免费在线观看| 欧美激情1区2区| 亚洲精品麻豆| 亚洲一区图片| 国产精品视频男人的天堂| 亚洲午夜精品一区二区三区他趣| 亚洲国产欧美另类丝袜| 免费亚洲网站| aa日韩免费精品视频一| 午夜欧美精品久久久久久久| 欧美视频一区二| 午夜精品短视频| 另类av一区二区| 亚洲乱码国产乱码精品精| 欧美高清在线视频观看不卡| 亚洲精品美女在线观看播放| 亚洲免费观看视频| 国产精品theporn| 亚久久调教视频| 亚洲国产另类精品专区| 欧美亚洲免费| 亚洲片在线观看| 国产精品视频男人的天堂 | aa日韩免费精品视频一| 欧美视频在线观看免费| 久久av最新网址| 亚洲视频自拍偷拍| 欧美成人在线免费观看| 久久狠狠久久综合桃花| 99re6热在线精品视频播放速度| 国产欧美精品一区| 男人的天堂成人在线| 99伊人成综合| 伊人成人在线视频| 国产精品视频yy9099| 欧美精品午夜| 麻豆精品在线观看| 久久视频国产精品免费视频在线| 亚洲无吗在线| 亚洲日本免费电影| 亚洲第一主播视频| 欧美激情第二页| 麻豆精品在线视频| 久久久91精品| 午夜亚洲福利| 小黄鸭精品密入口导航| 在线视频欧美日韩| 一区二区三区视频在线| 一区二区精品在线观看| 99视频有精品| 亚洲一级黄色| 久久久综合视频| 亚洲高清在线观看| 亚洲精品看片| 久久se精品一区二区| 久久久国产午夜精品| 欧美成人官网二区| 欧美日韩1区| 国产精品免费小视频| 国内精品久久久久国产盗摄免费观看完整版 | 欧美一级视频精品观看| 久久久久久69| 欧美乱大交xxxxx| 国产欧美综合一区二区三区| 国内精品视频666| 亚洲一区二区三区在线视频| 欧美一区二区三区免费在线看 | 国产主播一区二区三区四区| 在线播放日韩欧美| 亚洲欧美国产精品桃花| 米奇777在线欧美播放| 一本色道久久| 欧美国产日韩二区| 国产一区二区精品久久91| 亚洲免费观看视频| 久久综合九色九九| 亚洲新中文字幕| 欧美日韩国产在线一区| 狠狠色狠狠色综合日日tαg| 洋洋av久久久久久久一区| 美女精品在线| 欧美一级一区| 国产欧美综合在线| 国产精品视频在线观看| 日韩视频中文字幕| 亚洲日本在线视频观看| 久久午夜精品一区二区| 一区二区三区我不卡|