锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
static int n; //瀹氫箟闈欐佸叏灞鍙橀噺鏀逛負
int n; //瀹氫箟鍏ㄥ眬鍙橀噺
紼嬪簭鐓ф牱姝e父榪愯銆?br />鐨勭‘錛屽畾涔夊叏灞鍙橀噺灝卞彲浠ュ疄鐜板彉閲忓湪鏂囦歡涓殑鍏變韓錛屼絾瀹氫箟闈欐佸叏灞鍙橀噺榪樻湁浠ヤ笅濂藉錛?
]]>
VC 緙栬瘧閫夐」錛?/b>
璋冭瘯鏂規硶錛?/b>
1銆佷嬌鐢?Assert錛堝師鍒欙細灝介噺綆鍗曪級
銆銆assert鍙湪debug涓嬬敓鏁堬紝release涓嬩笉浼氳緙栬瘧銆?br />
渚嬪瓙錛?
char* strcpy(char* dest,char* source)
{
assert(source!=0);
assert(dest!=0);
char* returnstring = dest;
while((*dest = *source )!= 鈥榎0鈥?
{
;
}
return returnstring;
}
2銆侀槻寰℃х殑緙栫▼
渚嬪瓙錛?
char* strcpy(char* dest,char* source)
{
if(source == 0)
{
assert(false);
reutrn 0;
}
if(dest == 0)
{
assert(false);
return 0;
}
char* returnstring = dest;
while((*dest = *source )!= 鈥榎0鈥?
{
;
}
return returnstring;
}
3銆佷嬌鐢═race
浠ヤ笅鐨勪緥瀛愬彧鑳藉湪debug涓樉紺猴紝
渚嬪瓙錛?br />
a)銆乀RACE
CString csTest 錛?鈥渢est鈥濓紱 TRACE錛堚淐String is 錛卻\n鈥濓紝csTest錛夛紱
b)銆丄TLTRACE
c)銆乤fxDump
CTime time = CTime::GetCurrentTime(); #ifdef _DEBUG afxDump << time << 鈥淺n鈥? #endif
4銆佺敤GetLastError鏉ユ嫻嬭繑鍥炲鹼紝閫氳繃寰楀埌閿欒浠g爜鏉ュ垎鏋愰敊璇師鍥?br />
5銆佹妸閿欒淇℃伅璁板綍鍒版枃浠朵腑
寮傚父澶勭悊
銆銆紼嬪簭璁捐鏃朵竴瀹氳鑰冭檻鍒板紓甯稿浣曞鐞嗭紝褰撻敊璇彂鐢熷悗錛屼笉搴旂畝鍗曠殑鎶ュ憡閿欒騫墮鍑虹▼搴忥紝搴斿綋灝藉彲鑳界殑鎯沖姙娉曟仮澶嶅埌鍑洪敊鍓嶇殑鐘舵佹垨鑰呰紼嬪簭浠庡ご寮濮嬭繍琛岋紝騫朵笖瀵逛簬鏌愪簺閿欒錛屽簲璇ヨ兘澶熷閿欙紝鍗沖厑璁擱敊璇殑瀛樺湪錛屼絾鏄▼搴忚繕鏄兘澶熸甯稿畬鎴愪換鍔°?br />
璋冭瘯鎶宸?/b>
1銆乂C 涓璅5榪涜璋冭瘯榪愯
a)銆佸湪output Debug紿楀彛涓彲浠ョ湅鍒扮敤TRACE鎵撳嵃鐨勪俊鎭?br />b)銆?Call Stack紿楀彛涓兘鐪嬪埌紼嬪簭鐨勮皟鐢ㄥ爢鏍?br />
2銆佸綋Debug鐗堟湰榪愯鏃跺彂鐢熷穿婧冿紝閫夋嫨retry榪涜璋冭瘯錛岄氳繃鐪婥all Stack鍒嗘瀽鍑洪敊鐨勪綅緗強鍘熷洜
3銆佷嬌鐢ㄦ槧灝勬枃浠惰皟璇?br />
a)銆佸垱寤烘槧灝勬枃浠訛細Project settings涓璴ink欏癸紝閫変腑Generate mapfile錛岃緭鍑虹▼搴忎唬鐮佸湴鍧錛?MAPINFO: LINES錛屽緱鍒板紩鍑哄簭鍙鳳細/MAPINFO: EXPORTS銆?br />b)銆佺▼搴忓彂甯冩椂錛屽簲璇ユ妸鎵鏈夋ā鍧楃殑鏄犲皠鏂囦歡閮藉瓨妗c?br />c)銆佹煡鐪嬫槧灝勬枃浠訛細瑙佲?閫氳繃宕╂簝鍦板潃鎵懼嚭婧愪唬鐮佺殑鍑洪敊琛屸濇枃浠躲?br />
4銆佸彲浠ヨ皟璇曠殑Release鐗堟湰
銆銆Project settings涓瑿 欏圭殑Debug Info閫夋嫨涓篜rogram Database錛孡ink欏圭殑Debug涓夋嫨Debug Info鍜孧icrosoft format銆?br />
5銆佹煡鐪婣PI鐨勯敊璇爜錛屽湪watch紿楀彛杈撳叆@err鍙互鏌ョ湅鎴栬匑err,hr錛屽叾涓?hr鈥濊〃紺洪敊璇爜鐨勮鏄庛?br />6銆丼et Next Statement錛氳鍔熻兘鍙互鐩存帴璺寵漿鍒版寚瀹氱殑浠g爜琛屾墽琛岋紝涓鑸敤鏉ユ祴璇曞紓甯稿鐞嗙殑浠g爜銆?br />7銆佽皟璇曞唴瀛樺彉閲忕殑鍙樺寲錛氬綋鍐呭瓨鍙戠敓鍙樺寲鏃跺仠涓嬫潵銆?br />
甯歌閿欒
1銆佸湪鍑芥暟榪斿洖鐨勬椂鍊欑▼搴忓穿婧冪殑鍘熷洜
a)銆佸啓鑷姩鍙橀噺瓚婄晫
b)銆佸嚱鏁板師鍨嬩笉鍖歸厤
2銆丮FC
a)銆佷嬌鐢ㄩ敊璇殑鍑芥暟鍘熷瀷澶勭悊鐢ㄦ埛瀹氫箟娑堟伅
姝g‘鐨勫嚱鏁板師鍨嬩負錛?
afx_msg LRESULT OnMyMessage(WPARAM wParam,LPARAM lParam);
3銆佽皚鎱庝嬌鐢═erminateThread錛氫嬌鐢═erminateThread浼氶犳垚璧勬簮娉勬紡錛屼笉鍒頒竾涓嶅緱宸詫紝涓嶈浣跨敤銆?br />
4銆佷嬌鐢╛beginthreadex錛屼笉瑕佷嬌鐢–reate Thread鏉ュ父瑙佺嚎紼嬨?br />
鍙傝冭祫鏂欙細
銆奧indows紼嬪簭璋冭瘯銆?br />
1銆佷簩榪涘埗綰у埆鐨勮蔣浠跺鐢?/p>
2銆佷笌寮鍙戣璦鏃犲叧
3銆佺鍚堥潰鍚戝璞℃爣鍑?/p>
4銆佸彲浠ュ疄鐜拌繘紼嬮棿閫氫俊
6.this 鎸囬拡鐢ㄦ硶:渚?3涓?褰撶▼搴忔墽琛岃鍙ist elem(i);鏃?緋葷粺瀵箃his鎸囬拡榪涜浜嗗涓嬬殑緙虹渷璧嬪?this=&list;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璧嬪兼垚鍛樺嚱鏁頒婦渚?姝や緥鍦ㄤ緥63鍩虹涓?:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 void Assign(linear_list&);//璇存槑璇彞;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 void linear_list::Assign(linear_list&p)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {if(&p==this)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 nmax=p.nmax;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 nelem=p.nelem;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 list=new int[nmax];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 for(int i=0;i<nmax;i++)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 list[i]=p.list[i];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }聽聽
7.const,volatile瀵硅薄鍜宑onst,volatile鎴愬憳鍑芥暟
聽 鏍煎紡:const person per/volatile person per;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽 int func(int) const;/char func(int) volatile;
聽 璇存槑:1.鏅氬璞℃棦鍙互璁塊棶const瀵硅薄,鍙堝彲浠ヨ闂畍olatile瀵硅薄;
聽聽聽聽聽聽 2.const瀵硅薄鍙兘璁塊棶鐢╟onst淇グ鐨勬垚鍛樺嚱鏁?
聽聽聽聽聽聽聽聽 volatile瀵硅薄鍙兘璁塊棶鐢ㄥ叾鎵闀縱olatile淇グ鐨勬垚鍛樺嚱鏁?
聽聽聽聽聽聽 3.涔熷彲浠ュ悓鏃惰鏄庝負const volatile瀵硅薄鎴朿onst volatile鎴愬憳鍑芥暟;
聽聽聽聽聽聽聽聽 const volatile瀵硅薄鍙兘璁塊棶const volatile鎴愬憳鍑芥暟;
聽聽聽聽聽聽聽聽 const/volatile瀵硅薄涔熻兘璁塊棶const volatile鎴愬憳鍑芥暟;
8.涓嶅悓緇ф壙鏂瑰紡鐨勫熀綾誨拰媧劇敓綾葷壒鎬?br />聽 ------------------------------------------------
聽聽 緇ф壙鏂瑰紡聽聽聽聽聽 |聽聽 鍩虹被鐗規犅犅犅犅犅犅?|聽 媧劇敓綾葷壒鎬?br />聽 ------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽 public聽聽聽聽聽聽聽聽聽 |聽 public
聽聽 鍏湁緇ф壙聽聽聽聽聽 |聽聽 protected聽聽聽聽聽聽 |聽 protected
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽 private聽聽聽聽聽聽聽聽 |聽 涓嶅彲璁塊棶
聽 ------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽 public聽聽聽聽聽聽聽聽聽 |聽 private
聽聽 縐佹湁緇ф壙聽聽聽聽聽 |聽聽 protected聽聽聽聽聽聽 |聽 private
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽 private聽聽聽聽聽聽聽聽 |聽 涓嶅彲璁塊棶聽聽
聽 ------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽 public聽聽聽聽聽聽聽聽聽 |聽 protected
聽聽 淇濇姢緇ф壙聽聽聽聽聽 |聽聽 protected聽聽聽聽聽聽 |聽 protected
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽 private聽聽聽聽聽聽聽聽 |聽 涓嶅彲璁塊棶
聽 ------------------------------------------------
聽 A:甯姪鐞嗚В錛?錛夊浜庡叕鏈夌戶鎵挎柟寮忥細
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 a.鍩虹被鎴愬憳瀵瑰叾瀵硅薄鐨勫彲瑙佹э細鍏湁鎴愬憳鍙錛屽叾浠栦笉鍙銆傝繖閲屼繚鎶ゆ垚鍛樺悓浜庣鏈夋垚鍛樸?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 b.鍩虹被鎴愬憳瀵規淳鐢熺被鐨勫彲瑙佹э細鍏湁鎴愬憳鍜屼繚鎶ゆ垚鍛樺彲瑙侊紝鑰岀鏈夋垚鍛樹笉鍙銆傝繖閲屼繚鎶ゆ垚鍛樺悓浜庡叕鏈夋垚鍛樸?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 c.鍩虹被鎴愬憳瀵規淳鐢熺被瀵硅薄鐨勫彲瑙佹э細鍏湁鎴愬憳鍙錛屽叾浠栨垚鍛樹笉鍙銆?br />聽聽聽聽聽聽聽聽聽聽聽 鎵浠ワ紝鍦ㄥ叕鏈夌戶鎵挎椂錛屾淳鐢熺被鐨勫璞″彲浠ヨ闂熀綾諱腑鐨勫叕鏈夋垚鍛橈紱媧劇敓綾葷殑鎴愬憳鍑芥暟鍙互璁塊棶鍩虹被涓殑鍏湁鎴愬憳鍜屼繚鎶ゆ垚鍛樸傝繖閲岋紝涓瀹氳鍖哄垎娓呮媧劇敓綾葷殑瀵硅薄鍜屾淳鐢熺被涓殑鎴愬憳鍑芥暟瀵瑰熀綾葷殑璁塊棶鏄笉鍚岀殑銆?br />聽聽聽聽聽聽聽聽聽聽聽 2) 瀵逛簬縐佹湁緇ф壙鏂瑰紡錛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 a.鍩虹被鎴愬憳瀵瑰叾瀵硅薄鐨勫彲瑙佹? 鍏湁鎴愬憳鍙錛屽叾浠栦笉鍙銆?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 b.鍩虹被鎴愬憳瀵規淳鐢熺被鐨勫彲瑙佹э細鍏湁鎴愬憳鍜屼繚鎶ゆ垚鍛樺彲瑙侊紝鑰岀鏈夋垚鍛樹笉鍙聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 c.鍩虹被鎴愬憳瀵規淳鐢熺被瀵硅薄鐨勫彲瑙佹э細鎵鏈夋垚鍛橀兘鏄笉鍙鐨勩?br />聽聽聽聽聽聽聽聽聽聽聽 鎵浠ワ紝鍦ㄧ鏈夌戶鎵挎椂錛屽熀綾葷殑鎴愬憳鍙兘鐢辯洿鎺ユ淳鐢熺被璁塊棶錛岃屾棤娉曞啀寰涓嬬戶鎵褲?br />聽聽聽聽聽聽聽聽聽聽聽 3) 瀵逛簬淇濇姢緇ф壙鏂瑰紡錛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 涓庣鏈夌戶鎵挎柟寮忕浉鍚岋紝涓よ呯殑鍖哄埆浠呭湪浜庡媧劇敓綾葷殑鎴愬憳鑰岃█錛屽鍩虹被鎴愬憳鏈変笉鍚岀殑鍙鎬с?br />聽B:甯姪鐞嗚В錛?) 鍏湁緇ф壙鏃訛紝姘村鉤璁塊棶鍜屽瀭鐩磋闂鍩虹被涓殑鍏湁鎴愬憳涓嶅彈闄愬埗銆?br />聽聽聽聽聽聽聽聽聽聽聽聽 2) 縐佹湁緇ф壙鏃訛紝姘村鉤璁塊棶鍜屽瀭鐩磋闂鍩虹被涓殑鍏湁鎴愬憳涔熶笉鑳借闂?br />聽聽聽聽聽聽聽聽聽聽聽聽 3) 淇濇姢緇ф壙鏃訛紝瀵逛簬鍨傜洿璁塊棶鍚屼簬鍏湁緇ф壙錛屽浜庢按騫寵闂悓浜庣鏈夌戶鎵褲?br />聽聽聽聽聽聽聽聽聽聽聽聽 4) 瀵逛簬鍩虹被涓殑縐佹湁鎴愬憳錛屽彧鑳借鍩虹被涓殑鎴愬憳鍑芥暟鍜屽弸鍏冨嚱鏁拌闂紝涓嶈兘琚叾浠栫殑鍑芥暟璁塊棶銆?br />聽C:甯姪鐞嗚В錛氬湪鍏湁緇ф壙鏃訛紝媧劇敓綾葷殑鎴愬憳鍑芥暟鍙闂熀綾諱腑鐨勫叕鏈夋垚鍛樺拰淇濇姢鎴愬憳錛涙淳鐢熺被鐨勫璞′粎鍙闂熀綾諱腑鐨勫叕鏈夋垚鍛樸?br />9.媧劇敓綾葷殑鏋勯犲嚱鏁板拰鏋愭瀯鍑芥暟錛?br />聽聽聽聽 媧炬瀯錛?br />聽聽聽聽聽聽聽聽 1.涓鑸牸寮忥細 媧劇敓綾誨悕聽 (媧劇敓綾繪瀯閫犲嚱鏁版誨弬鏁拌〃):鍩虹被鏋勯犲嚱鏁?鍙傛暟琛?),瀛愬璞″悕(鍙傛暟琛?)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {媧劇敓綾諱腑鏁版嵁鎴愬憳鍒濆鍖杴錛?br />聽聽聽聽聽聽聽聽 2.璋冪敤欏哄簭錛?a.鍩虹被鐨勬瀯閫犲嚱鏁般俠.瀛愬璞$被鐨勬瀯閫犲嚱鏁?濡傛灉鏈夌殑璇?. c.媧劇敓綾繪瀯閫犲嚱鏁般偮犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅?
10.澶氱戶鎵匡細鏄寚媧劇敓綾誨叿鏈夊涓熀綾匯?br />聽聽 澶氱戶鎵跨殑鏋勯犲嚱鏁幫細
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 銆婃淳鐢熺被鍚嶃嬶紙鎬誨弬鏁拌〃錛夛細銆婂熀綾誨悕1銆嬶紙鍙傛暟琛?錛夛紝銆婂熀綾誨悕2銆嬶紙鍙傛暟琛?錛夛紝...
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {媧劇敓綾繪瀯閫犲嚱鏁頒綋}聽聽
11.铏氬熀綾伙細濡傛灉鍩虹被琚0鏄庝負铏氬熀綾伙紝鍒欓噸澶嶇戶鎵跨殑鍩虹被鍦ㄦ淳鐢熺瀵硅薄瀹炰緥涓彧濂藉瓨鍌ㄤ竴涓壇鏈紝鍚﹀垯錛屽皢鍑虹幇澶氫釜鍩虹被鎴愬憳鍓湰銆?br />聽聽 铏氬熀綾昏鏄庢牸寮忓涓嬶細聽 virtual<緇ф壙鏂瑰紡><鍩虹被鍚?gt;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class B:virtual public A
聽 娉ㄦ剰錛歛.濡傛灉涓涓淳鐢熺被鏈夌洿鎺ユ垨闂存帴鐨勮櫄鍩虹被錛岄偅涔堟淳鐢熺被鐨勬瀯閫犲嚱鏁扮殑鎴愬憳鍒濆鍒楄〃涓繀欏誨垪鍑哄铏氬熀綾葷殑璋冪敤錛屽鏋滄湭琚垪鍑猴紝鍒欒〃紺轟嬌鐢ㄨ鍩虹被鐨勭己鐪佹瀯閫犲嚱鏁版潵鍒濆鍖栨淳鐢熺被瀵硅薄涓殑铏氬熀綾誨瓙瀵硅薄銆?br />聽聽聽聽聽聽聽 b.铏氬熀綾葷殑鏋勯犲嚱鏁板厛浜庨潪铏氬熀綾葷殑鏋勯犲嚱鏁拌皟鐢ㄣ?br />聽聽聽聽聽聽聽 c.鍙湁寤虹珛瀵硅薄鐨勯偅涔堜釜媧劇敓綾葷殑鏋勯犲嚱鏁拌皟鐢ㄨ櫄鍩虹被鐨勬瀯閫犲嚱鏁幫紝鑰岃媧劇敓綾葷殑鍩虹被涓墍鍒楀嚭鐨勫榪欎釜铏氬熀綾葷殑鏋勯犲嚱鏁扮殑璋冪敤鍦ㄦ墽琛屼腑琚拷鐣ャ偮犅犅?
12.榪愮畻絎﹂噸杞斤細
聽聽聽聽聽 operator 鍑芥暟鐢ㄦ硶錛?涓嶈兘鏈変笅鍒楀瓧絎︼細'::','.','*','->','? :')
聽聽聽聽聽聽聽聽聽 1.涓鑸細int class_name::operator <榪愮畻絎?gt; (褰㈠弬鍒楄〃)聽聽 (渚?2)
聽聽聽聽聽聽聽聽聽 2.澧為噺鍑忛噺榪愮畻絎?聽聽 (渚?3,94,95,96)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 a.灝嗕竴涓閲忚繍綆楃閲嶈澆涓哄墠緗殑鎴愬憳鍑芥暟:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int class_name::operator++();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 b.灝嗕竴涓閲忚繍綆楃閲嶈澆涓哄悗緗殑鎴愬憳鍑芥暟錛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int class name::operator++(int);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 c.灝嗕竴涓閲忚繍綆楃閲嶈澆涓哄墠緗殑鍙嬪厓鍑芥暟錛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int operator ++(class_name&);聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 d.灝嗕竴涓閲忚繍綆楃閲嶈澆涓哄墠緗殑鍙嬪厓鍑芥暟錛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int operator ++(class_name&,int);聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 e.涓嬫爣榪愮畻絎︼細
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int class_name::operator[](褰㈠弬)聽 //鍙兘鏄潪闈欐佹垚鍛樺嚱鏁奧犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 f.鍑芥暟璋冪敤榪愮畻絎︼細聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int class_name::operator()(褰㈠弬琛?//鍙兘鏄潪闈欐佸嚱鏁幫紝涓斾笉鍙互甯︽湁緙虹渷鐨勫弬鏁?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 g.鎴愬憳閫夋嫨榪愮畻絎︼細
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class_name $/* class_name::operator->();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 h.new delete榪愮畻絎︼細
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 void *class_name::operator new(siz_t,<arg_list>);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 void *class_name::operator delete(void *,<size_t>);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 new delete鍙兘琚噸杞戒負綾葷殑鎴愬憳鍑芥暟錛屼笉鑳芥槸鍙嬪厓銆傝屼笖鏃犺鏄惁浣跨敤鍏抽敭瀛梥tatic
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 榪涜淇グ錛岄噸杞戒簡鐨刵ew鍜宒elete鍧囦負綾葷殑琛ㄦ佹垚鍛樺嚱鏁般?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 瀵逛簬typedef unsigned size_t;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍦ㄥご鏂囦歡alloc.h,mem.h,stddef.h,stdio.h,stdlib.h鍧囪鏄庯紱
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 i.鍙嬪厓鍑芥暟錛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍙互鏄竴涓被鐨勯潪闈欐佸嚱鏁幫紝涔熷彲浠ユ槸綾葷殑鍙嬪厓鍑芥暟銆?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {friend complex operator+(complex&,complex&);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }錛浡?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 浠ヤ笅浜旂榪愮畻絎︿笉璇存槑鎴愬弸鍏冭繍綆楃錛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 "=","()","[]","->","type";聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 j.杞崲鍑芥暟錛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class_name::operator type();聽 //type 鏄換浣曚竴涓悎娉曠殑C++鐨勭被鍨嬪悕錛堝寘鎷熀鏈暟鎹被鍨嬪拰瀵煎嚭鏁版嵁綾誨瀷錛変互鍙婄敱鍏抽敭瀛梒onst鍜寁olatile寮曞嚭鐨勮〃杈劇ず銆傦級
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //涓嶅甫浠諱綍鍙傛暟錛屼篃鏃犺繑鍥炲肩被鍨嬶紝鎬繪槸榪斿洖type鐨勫箋傚彧鑳芥槸綾葷殑鎴愬憳鍑芥暟錛屼笉鑳借鏄庝負鍙嬪厓榪愮畻絎︺?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 k.綾葷殑璧嬪艱繍綆椾笌榪愮畻絎﹂噸杞斤細
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 person & person::operator=(person &p)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {dele Name;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Name=new char[strlen(p.Name)+1];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 strcpy(Name,p.Name);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Age=p.Age;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Sex=p.Sex;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return *this;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍏稿瀷渚嬮銆傚綋鐢ㄧ郴緇熻嚜甯﹀璞¤祴鍊肩殑鍑芥暟錛屽鏋滃璞¢噷鏈夊 *Name 鍨嬬殑錛屽垯璧嬪煎悗浼氫嬌涓や釜鎸囬拡鍚屾椂鎸囧悜涓涓垚鍛樺厓绱犵殑鍦板潃錛屽綋璋冪敤鏋愭瀯鍑芥暟閲婃斁鏃訛紝浼氶噴鏀句袱嬈★紝澶氶噴鏀句竴嬈★紝鑰屼駭鐢熼敊璇紝榪欎釜鍏稿瀷渚嬮鏄敤浜庢妸涓涓垚鍛樺厓绱犲鍒跺埌鍙︿竴涓璞′腑錛屼笉鏄崟綰Щ鍔ㄦ寚閽堬紝褰撹皟鐢ㄦ瀽鏋勫嚱鏁版椂錛屼細閲婃斁涓ゆ銆?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 l.閲嶈澆鍑芥暟錛氱郴緇熶粎瀵瑰艦鍙傚姞浠ュ尯鍒?br />13.铏氬嚱鏁?br />聽聽聽聽 涓鑸儏鍐典笅錛屾寚鍚戜竴涓璞$殑鎸囬拡錛屼笉鍏佽鎸囧悜鍙︿竴涓璞★紝浣嗘寚鍚戝熀綾誨璞$殑鎸囬拡鍙互鎸囧悜瀹冪殑媧劇敓綾伙紝騫跺彲浠ヨ闂淳鐢熺被涓師鍩虹被鎴愬憳銆?br />聽聽聽聽 濡傛灉涓涓嚱鏁頒竴鏃﹁鏄庝負铏氬嚱鏁幫紝鍒欐棤璁鴻鏄庡畠鐨勭被琚戶鎵夸簡澶氬皯灞傦紝鍦ㄦ瘡涓灞備腑璇ュ嚱鏁伴兘淇濇寔璇irturl鐗規с備笖鍙互鍦ㄦ淳鐢熺被涓璇ュ嚱鏁扮渷鐣irtual.
聽聽聽聽 铏氬嚱鏁板繀欏繪槸綾葷殑涓涓垚鍛樺嚱鏁幫紝涓嶈兘鏄弸鍏冿紝浣嗗畠鍙互鏄彟涓涓被鐨勫弸鍏冦傝櫄鍑芥暟涓嶈兘鏄竴涓潤鎬佹垚鍛樸?br />聽聽聽聽 璁懼畾緇戝畾鏂瑰紡錛屼嬌紼嬪簭鍏鋒湁鐏墊椿鎬э紝浣嗘墽琛屾晥鐜囦綆錛屽崰鐢ㄥ唴瀛樺.聽聽聽聽
14.鎶借薄綾伙細綰櫄鍑芥暟
聽聽聽聽聽 綰櫄鍑芥暟鐨勪竴鑸艦寮忎負錛歷irturl 綾誨瀷鍚嶏紙鍙傛暟琛級=0;鎶借薄綾諱笉鑳界敵璇峰璞°?br />15.綾誨睘緇撴瀯錛?br />聽聽聽聽聽聽 1.鍑芥暟妯℃澘錛歵emplate <class 妯℃澘褰㈠弬琛?gt;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 榪斿洖鍊肩被鍨?鍑芥暟鍚嶏紙妯℃澘鍑芥暟褰㈠弬琛級
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍑芥暟浣擄紱
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽 example:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 template聽 <class T>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 void swap(T &.x,T&.y)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {T t;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 t=x;x=y;y=t;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽 2.閲嶈澆鍑芥暟妯℃澘錛氳皟鐢ㄧ敤嬈″簭錛?br />聽聽聽聽聽聽聽聽聽聽聽 1錛夊鎵句竴涓畬鍏ㄥ尮閰嶇殑鍑芥暟錛屾壘鍒幫紝璋冪敤涔嬨?br />聽聽聽聽聽聽聽聽聽聽聽 2錛夊鎵句竴涓嚱鏁版ā鏉匡紝灝嗗叾瀹炰緥鍖栦駭鐢熶竴涓尮閰嶇殑妯℃澘鍑芥暟錛屾壘鍒幫紝璋冪敤涔嬨?br />聽聽聽聽聽聽聽聽聽聽聽 3錛夊鎵鵑噸杞藉嚱鏁頒腑鏈夋棤閫氳繃綾誨瀷杞崲鍚庝駭鐢熷弬鏁板尮閰嶇殑鍑芥暟錛岃嫢鏈夛紝璋冪敤涔嬨?br />聽聽聽聽聽聽 3.綾繪ā鏉匡細template <class 妯℃澘褰㈠弬>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class 綾繪ā鏉垮悕
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 綾諱綋錛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽 example:聽 tempplate <class T>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class stack
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {private:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 T *date;聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int top;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 public:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 isempty();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 template <class T>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {...}聽聽
16.綾繪ā鏉跨殑鍙嬪厓錛?br />聽聽聽聽聽聽聽聽聽 a.涓鑸殑綾繪ā鏉垮弸鍏冨嚱鏁般?br />聽聽聽聽聽聽聽聽聽 b.灝侀棴鍨嬬殑綾繪ā鏉垮弸鍏冨嚱鏁般傚綋鐢ㄧ被鍨嬪弬鏁板皢綾繪ā鏉垮疄渚嬪寲涓烘煇涓叿浣撶殑妯℃澘綾繪椂錛岃綾繪ā鏉挎墍鍖呭惈鐨勫弸鍏冨嚱鏁頒篃灝嗛殢涔嬪疄渚嬪寲銆?br />聽聽聽聽聽聽聽聽聽 c.寮鏀懼瀷鐨勭被妯℃澘鍙嬪厓鍑芥暟銆?br />聽聽聽聽聽聽 渚嬩竴鐧句簩鍗佷竴銆?
17.C++鐨処/O嫻佸簱
聽聽聽 1.聽 I/O鏍囧噯嫻佺被聽聽
聽聽聽聽聽聽聽 -----------------------------------------
聽聽聽聽聽聽聽 c++鍚嶅瓧聽 |聽 璁懼聽 | C涓殑鍚嶅瓧 | 榛樿鐨勫惈涔?br />聽聽聽聽聽聽聽 -----------------------------------------
聽聽聽聽聽聽聽 cin聽聽聽聽聽 |聽 閿洏聽 | stdin聽聽聽聽 | 鏍囧噯杈撳叆
聽聽聽聽聽聽聽 -----------------------------------------
聽聽聽聽聽聽聽 cout聽聽聽聽 |聽 灞忓箷聽 | stdout聽聽聽 | 鏍囧噯杈撳嚭
聽聽聽聽聽聽聽 -----------------------------------------
聽聽聽聽聽聽聽 cerr聽聽聽聽 |聽 灞忓箷聽 | stderr聽聽聽 | 鏍囧噯閿欒
聽聽聽聽聽聽聽 -----------------------------------------
聽聽聽聽聽聽聽 clog聽聽聽聽 | 鎵撳嵃鏈?| stdprn聽聽聽 |聽 鎵撳嵃鏈?
聽聽聽聽聽聽聽 -----------------------------------------
聽聽聽聽 2銆傞敭鐩樿緭鍏?br />聽聽聽聽聽聽聽 cin>>a>>b>>c;聽 //Ctrl+z緇堟
聽聽聽聽聽聽聽 cin.get(char &ch)//浠庤緭鍏ユ祦鑾峰彇涓涓瓧絎︼紝涓嶅拷鐣ョ┖鏍糃trl+z緇堟
聽聽聽聽聽聽聽 cout.put(ch)//杈撳嚭涓涓瓧絎β犅犅犅犅犅犅?
銆銆銆銆EOF//鍏跺間負-1,鐩稿綋浜庣粓姝㈢銆
聽聽聽聽聽聽聽 cin.geline(char *buf,int limit,Deline='\n')//buf涓轟竴涓寚閽堟垨鏁扮粍錛宭imit涓哄瓧絎︿釜鏁?Deline涓鴻鍙栧瓧絎︽寚瀹氱粨鏉熺銆備綔鐢細浠庨敭鐩樿鍏ヤ竴涓插瓧絎︺傜粨鏉熺敤Ctrl+z.
銆銆銆銆cin.gcount()//榪斿洖getline()鍒氬垰璇昏繃鐨勫瓧絎︿釜鏁般
聽聽聽聽聽聽聽 cin.read(char *buf,int size)//璇誨叆鎸囧畾鏁扮洰鐨勫瓧絎?br />銆銆銆銆cout.write(const char *str,int n)//cout.write("string",strlen("string");鍒欒緭鍑哄叏閮ㄥ瓧絎︺?br />銆銆銆銆cin.peek()//榪斿洖杈撳叆嫻佺殑涓嬩竴涓瓧絎︼紝浣嗘槸涓嶆彁鍙栧畠銆?br />銆銆銆銆long(a)//a鍙互鏄寚閽堝湴鍧,浣滅敤錛屽己鍒惰漿鎹負鍗佽繘鍒舵暟銆?br />銆銆銆銆(void*)//ex:char str="abcde";cout<<str;灝唖tr涓洪鍦板潃瀛楃涓茬殑棣栧湴鍧杈撳嚭銆傘銆銆
18.杈撳叆絎︼紝鎻愬彇絎﹂噸杞斤細<<聽 >>
聽聽聽聽 渚?54 155渚嬮銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆
19.紓佺洏鏂囦歡鐨勮緭鍏ャ傚ご鏂囦歡#include"fstream.h"聽 //渚嬮浠?56寮濮?br />聽聽聽 1.鎵撳紑鏂囦歡錛?br />聽聽聽聽聽聽聽聽 a.聽聽 fstream outfile;
聽聽聽聽聽聽聽聽聽聽聽聽聽 outfile.open("f1.txt",ios::out);//鍏朵腑fstream涓虹郴緇熷鏂囦歡涓撶敤鎿嶄綔綾?br />聽聽聽聽聽聽聽聽 b.聽聽 ofstream ostream("f1.txt");
聽聽聽聽聽聽聽聽聽聽聽聽聽 ofstream ostrm;聽 ostrm.open("f1.txt");//琛ㄧず鎵撳紑鏌愪釜鍐欐枃浠?br />聽聽聽聽聽聽聽聽 c.聽聽 ifstream istrm("f2.txt");
聽聽聽聽聽聽聽聽聽聽聽聽聽 ifstream istrm;聽 istrm.open("f2.txt");//琛ㄧず鎵撳紑鏌愪釜璇繪枃浠?br />聽聽聽聽聽 -----------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鏂瑰紡鍚嵚犅犅犅犅犅犅犅犅犅犅犅犅?|聽聽聽聽聽聽聽聽聽聽聽 鐢ㄩ?br />聽聽聽聽聽 ----------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 in聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽聽聽聽聽 浠ヨ緭鍏ユ柟寮忔墦寮鏂囦歡
聽聽聽聽聽 -----------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 out聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽聽聽聽聽 浠ヨ緭鍑烘柟寮忔墦寮鏂囦歡
聽聽聽聽聽 -----------------------------------------------------------------------聽聽
聽聽聽聽 銆銆銆銆銆銆銆app聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽聽聽聽聽 浠ヨ緭鍑鴻拷鍔犳柟寮忔墦寮鏂囦歡
聽聽聽聽聽 -----------------------------------------------------------------------
銆聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ate聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽聽聽聽聽 鏂囦歡鎵撳紑鏃訛紝鏂囦歡鎸囬拡浣嶄簬鏂囦歡灝?br />聽聽聽聽聽 -----------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 trunc聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽 濡傛灉鏂囦歡瀛樺湪錛屽皢鍏墮暱搴︽埅鏂負闆訛紝騫舵竻闄ゆ墍鏈夊唴瀹癸紝濡傛灉鏂囦歡涓嶅瓨鍦紝鍒欏垱寤烘柊鏂囦歡
聽聽聽聽聽 -----------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 binarg聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽 浠ヤ簩榪涘埗鏂瑰紡鎵撳紑鏂囦歡錛岀己鐪佹椂涓烘枃鏈柟寮?br />聽聽聽聽聽 -----------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 nocreate聽聽聽聽聽聽聽聽聽聽 |鎵撳紑涓涓凡鏈夋枃浠訛紝濡傝鏂囦歡涓嶅瓨鍦紝鍒欐墦寮澶辮觸
聽聽聽聽聽 -----------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 noreplace聽聽聽聽聽聽聽聽聽 |濡傛灉鏂囦歡瀛樺湪錛岄櫎闈炶緗?ios::ate鎴杋os::app,鍚﹀垯鎵撳紑澶辮觸
聽聽聽聽聽 -----------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ios::in |ios::out聽 |浠ヨ鍜屽啓鐨勬柟寮忔墦寮鏂囦歡
聽聽聽聽聽 -----------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ios::out|ios::binary |浠ヤ簩榪涘埗鏂瑰紡鎵撳紑鏂囦歡
聽聽聽聽聽 -----------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ios::in|ios::binary聽 |浠ヤ簩榪涘埗鏂瑰紡鎵撳紑鏂囦歡
聽聽聽聽聽 -----------------------------------------------------------------------
聽聽聽 2. 鍏抽棴鏂囦歡:
聽聽聽聽聽聽聽聽聽聽聽聽聽 fstream outfile;
聽聽聽聽聽聽聽聽聽聽聽聽聽 outfile.close();聽聽
聽聽聽 3. 鎵撳紑鏂囦歡澶辮觸閫鍑虹▼搴忥細鐢ㄥ嚱鏁癮bort();閫鍑猴紝鍦ㄥご鏂囦歡<stdlib.h"
聽聽聽 4.鍒ゆ柇鏂囦歡緇撴潫鍑芥暟.example:聽 infile.eof()
聽聽聽 5.getline錛坈har*,sizeof(s));//璇誨彇涓涓插瓧絎?br />聽聽聽聽聽 get()/put()//瀵規枃浠跺瓧絎︽搷浣滐紝渚嬪outfile.get聽聽
聽聽聽 6.闅忔満璁塊棶鏁版嵁鏂囦歡錛?
聽聽聽聽聽聽聽 1)璇繪寚閽?br />聽聽聽聽聽聽聽聽聽 istream &istream::seekg(嫻佷腑浣嶇疆錛?/
聽聽聽聽聽聽聽聽聽 istream &istream::seekg(鍋忕Щ閲忥紝鍙傜収浣嶇疆)//鍙傜収浣嶇疆鍒嗕負錛歝ur=1/beg=0/end=2聽 input.seekg(-100,ios::cur);
聽聽聽聽聽聽聽聽聽 streampos istream::tellg();//鍏朵腑streampos瀹氫箟涓簂ong鍨嬶紝瀹冭繑鍥炰竴涓猯ong鍨嬩笖鍊間負褰撳墠鎸囬拡紱繪枃浠跺紑澶寸殑浣嶇疆錛堝瓧鑺傛暟錛?br />聽聽聽聽聽聽聽 2)鍐欐寚閽?br />聽聽聽聽聽聽聽聽聽 ostream &ostream::seekp(嫻佷腑鐨勪綅緗?
聽聽聽聽聽聽聽聽聽 ostream &ostream::seekp(鍋忕Щ閲忥紝鍙傜収浣嶇疆錛?/鍙傜収浣嶇疆鍚屼笂
聽聽聽聽聽聽聽聽聽 streampos ostream::tellp();
聽聽聽聽 娉ㄦ剰錛氳鍑芥暟涓湁get(),鍐欏嚱鏁頒腑鏈塸ut(),鎿嶄綔璇繪寚閽堢敤seekg(),鑰屽啓鎸囬拡鐢╯eekp();write()鍜宺ead()涓殑絎竴涓弬鏁板繀欏諱負(char *),濡傛灉涓嶆槸錛屼竴瀹氳寮哄埗杞崲
聽聽聽 7.聽 while(!cin);//琛ㄧず杈撳叆嫻佹湁閿欍?br />聽聽聽聽聽聽聽 cin.clear();//鍘熷瀷 void ios::clear(int=0);鍏剁敤閫旀槸灝嗛敊璇姸鎬佺殑鏍囧織瀛椾腑閿欒鏍囧織浣嶆竻闄わ紝閲嶆柊鍒ゆ柇杈撳叆銆?br />聽聽聽聽聽聽聽 cin.ignor(80,ch);//濡傛灉ch='\n',涓鑸〃紺哄拷鐣ヤ竴琛岋紝閲嶆柊鍒頒笅涓琛屽幓杈撳叆
聽聽聽聽聽聽聽 istream &istream::ignore(int n=1,int t=EOF);//璺寵繃杈撳叆嫻佷腑鎸囧畾鏁伴噺鐨勫瓧絎︾殑鍑芥暟錛宼涓虹粓姝㈢錛屼竴鑸珽OF鐩稿綋浜?lt;ctrl+z>鎿嶄綔
聽聽聽聽聽聽聽 istream &istream::pubback(char ch)//閫鍥炰竴涓瓧絎﹀埌杈撳叆嫻佺殑鍑芥暟錛屽叾涓璫h鏄寚鍑鴻閫鍥炶緭鍏ユ祦鐨勫瓧絎︺?br />20. 鏍煎紡鍖栬緭鍏ュ拰杈撳嚭錛毬犅犅犅犅犅犅?渚嬮浠?167寮濮?br />聽聽聽聽 A.璁劇疆嫻佺殑鏍煎紡鍖栨爣蹇?br />聽聽聽聽聽聽聽 1).鎺у埗鏍煎紡鐨勬爣蹇椾綅
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽 鏍囧織浣?|聽聽 鍊悸犅?|聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍚箟聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |杈撳叆/杈撳嚭
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽 skipws聽 | 0x0001 |聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璺寵繃杈撳叆涓殑絀虹櫧絎β犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅?|聽聽聽 i
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽 left聽聽 | 0x0002 |聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 杈撳嚭鏁版嵁宸﹀榻惵犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅?|聽聽聽 o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽 rignt聽聽 | 0x0004 |聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 杈撳嚭鏁版嵁鍙沖榻惵犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅?|聽聽聽 o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽 internal | 0x0008 |聽聽 鏁版嵁鐨勭鍙峰乏瀵歸綈錛屾暟鎹湰韜彸瀵歸綈錛屼箣闂翠負濉厖絎β犅?|聽聽聽 o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽 dec聽聽聽 | 0x0010 |聽聽聽聽聽聽聽聽聽聽聽聽聽 杞崲鍩烘暟涓哄崄榪涘埗褰㈠紡聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽 i/o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽 oct聽聽聽 | 0x0020 |聽聽聽聽聽聽聽聽聽聽聽聽聽 杞崲鍩烘暟涓哄叓榪涘埗褰㈠紡聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽 i/o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽聽 hex聽聽聽 | 0x0040 |聽聽聽聽聽聽聽聽聽聽聽聽 杞崲鍩烘暟涓哄崄鍏繘鍒跺艦寮徛犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅?|聽聽 i/o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽 showbase | 0x0080 |聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 杈撳嚭鏁版嵁鍓嶆湁0/0x聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽 o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽 showpoint | 0x0100 |聽聽聽聽聽聽聽聽聽聽聽聽聽 嫻偣鏁拌緭鍑哄甫鏈夊皬鏁扮偣聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽 o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽 uppercase | 0x0200 |聽聽聽聽聽聽聽聽聽聽 鐢ㄥぇ鍐欏瓧姣嶈緭鍑哄崄鍏繘鍒舵暟鍊悸犅犅犅犅犅犅犅犅犅犅犅犅犅?|聽聽聽 o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽 showpos聽 | 0x0400 |聽聽聽聽聽聽聽聽聽聽聽聽聽聽 姝f暟鍓嶉潰鏈夆?鈥濆彿聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽 o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽 scientfic | 0x0800 |聽聽聽聽聽聽聽聽聽聽聽 嫻偣鏁拌緭鍑洪噰鐢ㄧ瀛﹁〃紺烘硶聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽 o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽 fixed聽聽 | 0x1000 |聽聽聽聽聽聽聽聽聽聽聽 浣跨敤瀹氱偣鏁板艦寮忚〃紺烘誕鐐規暟聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽 o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽 unitbuf聽 | 0x2000 |聽聽聽聽聽聽聽 瀹屾垚杈撳叆鎿嶄綔鍚庣珛鍗沖埛鏂版祦鐨勭紦鍐插尯聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽 o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------
聽聽聽聽聽聽聽聽聽 stdio聽聽 | 0x4000 |聽聽聽聽聽聽聽聽 瀹屾垚杈撳叆鎿嶄綔鍚庡埛鏂扮郴緇熺殑stdout聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽 o
聽聽聽聽聽聽聽聽 ------------------------------------------------------------------------------聽聽聽聽
聽聽聽聽聽聽 2).浣跨敤鎴愬憳鍑芥暟璁劇疆鏍囧織瀛楋細
聽聽聽聽聽聽聽聽聽聽 1.long flags()聽聽聽聽聽聽 //璇ュ嚱鏁扮敤鏉ヨ繑鍥炴爣蹇楀瓧
聽聽聽聽聽聽聽聽聽聽 2.long flags(long)聽聽 //璇ュ嚱鏁頒嬌鐢ㄥ弬鏁版洿鏂版爣蹇楀瓧錛岃繑鍥炴洿鏂板墠鐨勬爣蹇楀瓧
聽聽聽聽聽聽聽聽聽聽 3.long setf(long setbits,long field)//灝唂ield鎵鎸囧畾鐨勬爣蹇楁竻闆訛紝灝唖etbits涓?鐨勪綅緗?錛岃繑鍥炰互鍓嶇殑鏍囧織瀛?br />聽聽聽聽聽聽聽聽聽聽 4.long setf(long)聽 //璁劇疆鍙傛暟鎵鎸囧畾鐨勯偅浜涙爣蹇楃殑浣嶏紝榪斿洖鏇存柊鍓嶇殑鏍囧織瀛?br />聽聽聽聽聽聽聽聽聽聽 5.long unsetf(long)//璇ュ嚱鏁扮敤鏉ユ竻闄ゅ弬鏁版墍鎸囧畾鐨勯偅浜涙爣蹇椾綅鐨勪綅錛岃繑鍥炴洿鏂板墠鐨勬爣蹇楀瓧
聽聽聽聽聽聽聽 鍦╥os綾諱腑錛屽畾涔変簡涓嬮潰鐨勮〃鎬佺被瀵硅薄錛?br />聽聽聽聽聽聽聽聽聽聽 static const long聽 basefield; //鍏跺間負dec/oct/hex
聽聽聽聽聽聽聽聽聽聽 static const long adjustfield //鍏跺間負left/right/internal
聽聽聽聽聽聽聽聽聽聽 static const long聽 floatfield //鍏跺間負scientific/fixed
聽聽聽聽聽聽聽 example:聽 cin.setf(ios::dec,ios::basefield聽聽聽聽聽聽
聽聽聽 B.鏍煎紡杈撳嚭鍑芥暟:
聽聽聽聽聽聽 1).璁劇疆杈撳嚭鏁版嵁鎵鍗犲搴︾殑鍑芥暟
聽聽聽聽聽聽聽聽聽聽 1.int width()//璇ュ嚱鏁拌繑鍥炲綋鍓嶈緭鍑烘暟鎹殑瀹藉害
聽聽聽聽聽聽聽聽聽聽 2.int width(int)//鍒誨嚱鏁扮敤鏉ヨ緗綋鍓嶈緭鍑烘暟鎹殑瀹藉害涓哄弬鏁板鹼紝騫惰繑鍥炴洿鏂板墠鐨勫搴﹀?br />聽聽聽聽聽聽 2).濉厖褰撳墠瀹藉害鍐呯殑濉厖瀛楃鍑芥暟
聽聽聽聽聽聽聽聽聽聽 1.char fill()//璇ュ嚱鏁扮敤鏉ヨ繑鍥炲綋鍓嶆墍浣跨敤鐨勫~鍏呭瓧絎?br />聽聽聽聽聽聽聽聽聽聽 2.char fill(char)//璇ュ嚱鏁扮敤鏉ヨ緗~鍏呭瓧絎︿負鍙傛暟鍊兼墍琛ㄧず鐨勫瓧絎︼紝騫惰繑鍥炴洿鏂板墠鐨勫~鍏呭瓧絎?br />聽聽聽聽聽聽 3).璁劇疆嫻偣鏁拌緭鍑虹簿搴﹀嚱鏁?br />聽聽聽聽聽聽聽聽聽聽 1.int precision()//璇ュ嚱鏁拌繑鍥炲綋鍓嶆誕鐐規暟鐨勬湁鏁堟暟瀛楃殑涓暟
聽聽聽聽聽聽聽聽聽聽 2.int precision(int)//璇ュ嚱鏁拌緗誕鐐規暟杈撳嚭鏃剁殑鏈夋晥鏁板瓧涓暟錛屽茍榪斿洖鏇存柊鍓嶇殑鍊箋?br />聽聽聽聽聽 娉ㄦ剰:float鍨嬪疄鏁版渶澶氭彁渚?浣嶆湁鏁堟暟瀛楋紝double鍨嬭鏈澶氭彁渚?5浣嶆湁鏁堟暟瀛楋紝long銆傘傘傛彁渚?9浣嶆湁鏁堟暟瀛?br />聽聽 C.鎿嶄綔瀛?涓轟簡綆鍖栨搷浣滐紝鎻愪緵浜嗕竴緋誨垪鎿嶄綔瀛愶紝鎿嶄綔瀛愬疄闄呬笂鏄璞?br />聽聽聽聽聽聽 --------------------------------------------------------------------
聽聽聽聽聽聽聽 dec聽聽聽聽聽聽聽聽 |聽聽聽聽聽 鏁板兼暟鎹噰鐢ㄥ崄榪涘埗琛ㄧず聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽 i/o
聽聽聽聽聽聽 --------------------------------------------------------------------
聽聽聽聽聽聽聽 hex聽聽聽聽聽聽聽聽 |聽聽聽聽聽 鏁板兼暟鎹噰鐢ㄥ崄鍏繘鍒惰〃紺郝犅犅犅犅犅犅犅犅犅犅犅?|聽聽聽 i/o
聽聽聽聽聽聽 --------------------------------------------------------------------
聽聽聽聽聽聽聽 oct聽聽聽聽聽聽聽聽 |聽聽聽聽聽 鏁板兼暟鎹噰鐢ㄥ叓榪涘埗琛ㄧず聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽 i/o
聽聽聽聽聽聽 --------------------------------------------------------------------
聽聽聽聽聽聽聽 setbase(int)|聽 璁劇疆鏁版嵁杞崲鍩烘暟涓簄(n涓?,8,10,16)錛屽叾涓?琛ㄧず緙虹渷鍩烘暟聽 |聽 i/o
聽聽聽聽聽聽 --------------------------------------------------------------------
聽聽聽聽聽聽聽 ws聽聽聽聽聽聽聽聽聽 |聽聽 鎻愬彇絀虹櫧絎β犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅?|聽聽聽聽 i
聽聽聽聽聽聽 --------------------------------------------------------------------
聽聽聽聽聽聽聽 ends聽聽聽聽聽聽聽 |聽聽 鎻掑叆絀虹櫧絎β犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅?|聽聽聽聽 o
聽聽聽聽聽聽 --------------------------------------------------------------------
聽聽聽聽聽聽聽 flush聽聽聽聽聽聽 |聽 鍒鋒柊涓庢祦鐩稿叧鑱旂殑緙撳啿鍖郝犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅?|聽聽聽聽 o
聽聽聽聽聽聽 --------------------------------------------------------------------
聽聽聽聽聽聽聽 resetiosflags(long)聽 |聽聽聽聽 娓呴櫎鍙傛暟鎵鎸囧畾鐨勬爣蹇椾綅聽聽聽聽聽聽 |聽聽聽 i/o
聽聽聽聽聽聽 --------------------------------------------------------------------
聽聽聽聽聽聽聽 setiosflags(long)聽聽聽 |聽聽聽聽 璁劇疆鍙傛暟鎵鎸囧畾鐨勬爣蹇椾綅聽聽聽聽聽聽 |聽聽聽 i/o
聽聽聽聽聽聽 --------------------------------------------------------------------
聽聽聽聽聽聽聽 setfill(int)聽聽聽聽聽聽聽聽 |聽聽聽聽 璁劇疆濉厖瀛楃聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽 o
聽聽聽聽聽聽 --------------------------------------------------------------------
聽聽聽聽聽聽聽 setsprecision(int)聽聽 |聽聽聽聽 璁劇疆嫻偣鏁拌緭鍑虹殑鏈夋晥鏁板瓧涓暟 |聽聽聽聽 o
聽聽聽聽聽聽 --------------------------------------------------------------------
聽聽聽聽聽聽聽 setw(int)聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽 璁劇疆杈撳嚭鏁版嵁欏圭殑鍩熷聽聽聽聽聽聽聽聽 |聽聽聽聽 o
聽聽聽聽聽聽 --------------------------------------------------------------------
21. 瀛楃涓叉祦:渚?70寮濮?br />聽聽聽聽聽 c++鎻愪緵浜嗕袱涓被:澶存枃浠?include"strstrea.h"
聽聽聽聽聽聽聽聽 1.ostrstream:鍏舵槸浠巓stream媧劇敓鏉ョ殑,灝嗕笉鍚岀被鍨嬭漿鎹負瀛楃涓?騫跺瓨鏀懼埌鏁扮粍涓?
聽聽聽聽聽聽聽聽聽聽聽聽 ostrstream::ostrstream();//緙虹渷鏋勯犲嚱鏁?瀹冪敤鏉ュ緩绔嬪瓨鍌ㄦ墍鎻掑叆鐨勬暟鎹殑鏁扮粍瀵硅薄;
聽聽聽聽聽聽聽聽聽聽聽聽 ostrstream::ostrstream(char *s,int n,int mode=ios::out);//姝ゆ瀯閫犲嚱鏁頒腑S鏄瓧絎︽寚閽堟垨瀛楃鏁扮粍,N鏄敤鏉ユ寚瀹氳繖涓暟緇勬渶澶氳兘瀛樻斁鐨勫瓧絎︿釜鏁?mode鍙傛暟緇欏嚭嫻佸紡鐨勬柟寮?緙虹渷涓簅ut鏂瑰紡,榪樺彲閫夌敤ate鍜宎pp鏂瑰紡.
聽聽聽聽聽聽聽聽聽聽 ostrstream綾昏繕鎻愪緵浜嗗涓嬬殑鎴愬憳鍑芥暟:
聽聽聽聽聽聽聽聽聽聽聽聽 int ostrstream::pcount();//榪斿洖嫻佷腑宸叉彃鍏ョ殑瀛楃涓暟;
聽聽聽聽聽聽聽聽聽聽聽聽 char *ostrstream::str(); //榪斿洖鏍囧織瀛楃涓茬殑鏁扮粍鐨勬寚閽堝?
聽聽聽聽聽聽聽聽 2.istrstream:鍏舵槸浠巌stream媧劇敓鏉ョ殑,灝嗘枃鏈」杞崲涓哄彉閲忔墍闇瑕佺殑鍐呴儴鏍煎紡.聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽 istrstream::istrstream(char *s);//鏋勯犲嚱鏁頒腑S鏄竴涓瓧絎︽寚閽堟垨瀛楃鏁扮粍,浣跨敤璇ヤ覆鏉ュ垵濮嬪寲瑕佸垱寤虹殑嫻佸璞?br />聽聽聽聽聽聽聽聽聽聽聽聽 istrstream::istrstream(char *s,int n);//姝ゆ瀯閫犲嚱鏁版槸浣跨敤涓蹭腑鍓峃涓瓧絎︽潵鏋勯犱覆瀵硅薄
22.寮傚父澶勭悊
聽聽聽聽聽 try{聽聽 }
聽聽聽聽聽 throw 鍙橀噺
聽聽聽聽聽 catch(褰㈠紡鍙傛暟鍙橀噺){聽聽 } //鍏朵腑褰㈡暟鍙傛暟鍙橀噺鍙兘鏄竴涓紝涓旂被鍨嬩笉鑳藉儚鍑芥暟浼犻掑艦鍙傞偅鏍瘋繘琛岃嚜鍔ㄨ漿鎹紝蹇呴』瀹屽叏鎵歸厤
聽聽 娉ㄦ剰錛?.褰撴壘涓嶅埌鎸囧閰嶉」鏃訛紝灝辯敤榛戣鎵歸厤欏筧bort()涓緇堟紼嬪簭聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽 2.寮傚父澶勭悊鐨勬暟鎹被鍨嬫槸鍏湁鍩虹被錛屾姏鎺峰紓甯哥殑鏁版嵁綾誨瀷鏄淳鐢熺被
聽聽聽聽聽聽聽聽 3.寮傚父澶勭悊鐨勬暟鎹被鍨嬫槸鎸囧悜鍏湁鍩虹被鐨勬寚閽堬紝鎶涙幏寮傚父鐨勬暟鎹被鍨嬫槸鎸囧悜媧劇敓綾葷殑鎸囬拡
聽聽聽聽聽聽聽聽聽聽聽 catch(鍩虹被)鎬昏兘澶熸崟鑾穞hrow錛堟淳鐢熺被瀵硅薄錛夛紝鎵浠atch(鍩虹被)鍧楁繪槸鏀懼湪catch(媧劇敓綾?鍧楃殑鍚庨潰錛屼互閬垮厤catch(媧劇敓綾?姘歌繙涓嶈兘鎹曡幏寮傚父聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽