锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
string鍜孋String鍧囨槸瀛楃涓叉ā鏉跨被錛宻tring涓烘爣鍑嗘ā鏉跨被錛圫TL錛夊畾涔夌殑瀛楃涓茬被錛屽凡緇忕撼鍏++鏍囧噯涔嬩腑錛?br>
CString錛坱ypedef CStringT<TCHAR, StrTraitMFC<TCHAR>> CString錛変負(fù)Visual C++涓渶甯哥敤鐨勫瓧絎︿覆綾伙紝緇ф壙鑷狢SimpleStringT綾伙紝涓昏搴旂敤鍦∕FC鍜孉TL緙栫▼涓紝涓昏鏁版嵁綾誨瀷鏈塩har(搴旂敤浜嶢NSI)錛寃char_t(unicode)錛孴CHAR(ANSI涓巙nicode鍧囧彲)錛?br>
char*涓篊緙栫▼涓渶甯哥敤鐨勫瓧絎︿覆鎸囬拡錛屼竴鑸互’\0’涓虹粨鏉熸爣蹇楋紱
(浜? 鏋勯?/strong>
string鏄柟渚跨殑錛屽彲浠ヤ粠鍑犱箮鎵鏈夌殑瀛楃涓叉瀯閫犺屾潵錛屽寘鎷珻String鍜宑har*錛?br>
CString嬈′箣錛屽彲浠ヤ粠鍩烘湰鐨勪竴浜涘瓧絎︿覆鍙橀噺鏋勯犺屾潵錛屽寘鎷琧har*絳夛紱
char*娌℃湁鏋勯犲嚱鏁幫紝浠呭彲浠ヨ祴鍊鹼紱
涓句緥錛?br>
char* psz = “joise”;
CString cstr( psz );
string str( cstr );
(涓? 榪愮畻絎﹂噸杞?/strong>
a) operator=
string鏄渶鏂逛究鐨勶紝鍑犱箮鍙互鐩存帴鐢ㄦ墍鏈夌殑瀛楃涓茶祴鍊鹼紝鍖呮嫭CString鍜宑har*錛?br>
CString嬈′箣錛屽彲浠ョ洿鎺ョ敤浜涘熀鏈殑瀛楃涓茶祴鍊鹼紝鍖呮嫭char*絳夛紱
char*鍙兘鐢辨寚閽堣祴鍊鹼紝騫朵笖鏄瀬鍗遍櫓鐨勬搷浣滐紝寤鴻浣跨敤strcpy鎴栬卪emcpy錛岃屼笖char*鍦ㄥ0鏄庣殑鏃跺欏鏈祴鍒濆煎緩璁厛璁句負(fù)NULL錛屼互閬垮厤閲庢寚閽堬紝浠や綘鎶撶媯錛?br>
涓句緥錛?br>
char *psz = NULL;
psz = new char[10]; //褰撶劧錛屼互涓婄殑鐩存帴鍐欐垚char *psz = new char[10];涔熸槸涓鏍?br>
memset( psz, 0, 10 );
strcpy( psz, “joise” );
CString cstr;
cstr = psz;
string str;
str = psz;
str = cstr;
delete []psz;
b) operator+
string涓嶤String宸笉澶氾紝鍙互鐩存帴涓巆har*榪涜鍔犳硶錛屼絾涓嶅彲浠ョ浉浜掍嬌鐢?榪愮畻絎︼紝鍗硈tring str = str + cstr鏄潪娉曠殑錛岄』杞崲鎴恈har*錛?br>
char*娌℃湁+榪愮畻錛屽彧鑳戒嬌鐢╯trcat鎶婁袱涓寚閽堣繛鍦ㄤ竴璧鳳紱
涓句緥錛?br>
char* psz = “joise”;
CString cstr = psz;
cstr = cstr + psz;
string str = psz;
str = str + str + psz;
strcat( psz, psz );
strcat( psz, cstr );//鍚堟硶
strcat( psz, str );//闈炴硶錛岀敱姝ゅ彲瑙侊紝CString鍙嚜鍔ㄨ漿鎹負(fù)const char*錛岃宻tring涓嶈
c) operator +=
string鏄渶寮哄ぇ鐨勶紝鍑犱箮鍙互涓庢墍鏈夌殑瀛楃涓插彉閲?=錛屽寘鎷珻String鍜宑har*錛?br>
CString嬈′箣錛屽彲浠ヤ笌鍩烘湰鐨勪竴浜涘瓧絎︿覆鍙橀噺榪涜+=鑰屾潵錛屽寘鎷琧har*絳夛紱
char*娌℃湁+=榪愮畻絎︼紝鍙兘浣跨敤strcat鎶婁袱涓寚閽堣繛鍦ㄤ竴璧鳳紱
d) operator[]
CString鏈濂斤紝褰撹秺鐣屾椂浼?xì)鎶涘嚭鏂a寮傚父錛?br>
string涓巆har*涓嬫爣瓚婄晫緇撴灉鏈畾涔夛紱
涓句緥錛?br>
char* psz = “joise”;
CString cstr = psz;
cout << cstr[8];
string str = psz;
cout << str[8];
cout << psz[8];
e) operator== 銆乷perator!=銆乷perator> 銆乷perator< 銆乷perator>= 銆乸erator<=
CString涓巗tring涔嬮棿涓嶅彲浠ヨ繘琛屾瘮杈冿紝浣嗗潎鍙互涓巆har*榪涜姣旇緝錛屽茍涓旀瘮杈冪殑鏄鹼紝鑰屼笉鏄湴鍧錛?br>
cout << ( psz == cstr );
cout << ( psz == str );
cout << ( str == psz );
cout << ( cstr == psz );//浠ヤ笂浠g爜榪斿洖鍧囦負(fù)1
(鍥? 甯哥敤綆楁硶
a) 鏌ユ壘
| 浣滅敤 | char* | string | CString |
| 鏌ユ壘鎸囧畾鍊?/td> | strchr strstr strrstr strspn |
find | Find |
| 絎竴涓尮閰嶇殑鍊?/td> | 銆 | fild_first_of | FindOneOf |
| 浠庡悗闈㈠紑濮嬫煡鎵?/td> | 銆 | 銆 | ReserveFind |
| 鎸囧畾鍖歸厤鏂瑰紡 | 銆 | find_if | 銆 |
娉細(xì)find_if涓槸鎶婅寖鍥村唴鐨勫兼尐涓唬鍏ュ尮閰嶅嚱鏁扮洿鑷寵繑鍥瀟rue
b) 姣旇緝
| 浣滅敤 | char* | string | CString |
| 鏌ユ壘鎸囧畾鍊?鍖哄垎澶у皬鍐? | strcmp strncmp strcoll _strncoll |
operator< operator> operator<= operator>= operator== operator!= |
Collate Compare |
| 鏌ユ壘鎸囧畾鍊?涓嶅尯鍒嗗ぇ灝忓啓) | _stricmp _strnicmp _stricoll _strnicoll |
銆 | CollateNoCase CompareNoCas |
娉細(xì)榪斿洖鍊煎鏋?lt;0鍒欏墠闈㈢殑鍊煎皬浜庡悗闈㈢殑鍊鹼紝鍙嶄箣浜︾劧
c) 鏇挎崲
| 浣滅敤 | char* | string | CString |
| 鏌ユ壘鎸囧畾鍊?/td> | _strset _strnset |
replace replace_copy replace_copy_if replace_if |
Replace |
d) 鎻掑叆
| 浣滅敤 | char* | string | CString |
| 鏌ユ壘鎸囧畾鍊?/td> | 銆 | insert | Insert |
| 浣滅敤 | char* | string | CString |
| 鍔ㄦ佸鍔犲?/td> | strcat | push append |
Append AppendChar AppendFormat |
f) 鎴彇
| 浣滅敤 | char* | string | CString |
| 寰楀埌閮ㄥ垎鍊?/td> | 鐢ㄤ笅鏍囨搷浣?/td> | substr | Left Mid Right Truncate |
g) 縐婚櫎
| 浣滅敤 | char* | string | CString |
| 縐婚櫎閮ㄤ喚鍊?/td> | 銆 | remove | Remove |
| 縐婚櫎絀虹櫧鍊?/td> | RemoveBlanks 娉細(xì)姝や負(fù)ATL鎻愪緵錛岄潪C鍑芥暟 |
remove_if | Trim TrimLeft TrimRig |
h) 杞崲澶у皬鍐?/p>
| 浣滅敤 | char* | string | CString |
| 杞崲澶у皬鍐?/td> | _strlwr _strupr |
銆 | MakeLower MakeUpper |
i) 涓庡叾浠栫被鍨嬭漿鎹?/p>
| 浣滅敤 | char* | string | CString |
| 杞寲涓烘暟瀛?/td> | atoi atod atof |
銆 | Format |
| 杞寲涓篶har* | 銆 | c_str | GetBuffer GetBufferSetLen |
j) 鏍煎紡鍖?/p>
| 浣滅敤 | char* | string | CString |
| 鏍煎紡鍖?/td> | sprintf | 銆 | Format |
k) 寰楀埌闀垮害
| 浣滅敤 | char* | string | CString |
| 寰楀埌闀垮害 | strlen | length | GetLength |
| 寰楀埌澶у皬 | 銆 | size | GetAllocLength |
l) 鍒ゆ柇涓虹┖
| 浣滅敤 | char* | string | CString |
| 鍒ゆ柇鏄惁涓虹┖ | 鍒ゆ柇鏄惁==NULL鎴栬呯涓涓瓧絎︽槸鍚︽槸’\0’ | empty | IsEmpty |
m) 閲嶅畾涔夊ぇ灝?/p>
| 浣滅敤 | char* | string | CString |
| 閲嶅畾涔夊ぇ灝?/td> | realloc new |
resize | GetBufferSetLength |
n) 閲婃斁璧勬簮
| 浣滅敤 | char* | string | CString |
| 閲婃斁 | free delete (delete[]) |
銆 | ReleaseBuffer ReleaseBufferSetLength |
(浜? 瀹夊叏鎬?gt;
CString > string > char*錛?br>
(鍏? 鐏墊椿鎬?/strong>
CString > string >char*錛?br>
(涓? 鍙Щ妞嶆?/strong>
char* = string > CString
涓銆?include “filename.h”鍜?include filename.h>鐨勫尯鍒?/font>
#include “filename.h”鏄寚緙栬瘧鍣ㄥ皢浠庡綋鍓嶅伐浣滅洰褰曚笂寮濮嬫煡鎵炬鏂囦歡
#include filename.h>鏄寚緙栬瘧鍣ㄥ皢浠庢爣鍑嗗簱鐩綍涓紑濮嬫煡鎵炬鏂囦歡
浜屻佸ご鏂囦歡鐨勪綔鐢?/font>
鍔犲己瀹夊叏媯(gè)嫻?/font>
閫氳繃澶存枃浠跺彲鑳芥柟渚垮湴璋冪敤搴撳姛鑳斤紝鑰屼笉蹇呭叧蹇冨叾瀹炵幇鏂瑰紡
涓夈? , &淇グ絎︾殑浣嶇疆
瀵逛簬*鍜?amp;淇グ絎︼紝涓轟簡閬垮厤璇В錛屾渶濂藉皢淇グ絎︾揣闈犲彉閲忓悕
鍥涖乮f璇彞
涓嶈灝嗗竷?yōu)當(dāng)鍙橀噺涓庝恢M綍鍊艱繘琛屾瘮杈冿紝閭d細(xì)寰堝鏄撳嚭閿欑殑銆?/font>
鏁村艦鍙橀噺蹇呴』瑕佹湁綾誨瀷鐩稿悓鐨勫艱繘琛屾瘮杈?/font>
嫻偣鍙橀噺鏈濂藉皯姣旂偣錛屽氨綆楄姣斾篃瑕佹湁鍊艱繘琛岄檺鍒?/font>
鎸囬拡鍙橀噺瑕佸拰NULL榪涜姣旇緝錛屼笉瑕佸拰甯冨皵鍨嬪拰鏁村艦姣旇緝
浜斻乧onst鍜?define鐨勬瘮杈?/font>
const鏈夋暟鎹被鍨嬶紝#define娌℃湁鏁版嵁綾誨瀷
涓埆緙栬瘧鍣ㄤ腑const鍙互榪涜璋冭瘯錛?define涓嶅彲浠ヨ繘琛岃皟璇?/font>
鍦ㄧ被涓畾涔夊父閲忔湁涓ょ鏂瑰紡
1銆?鍦ㄧ被鍦ㄥ0鏄庡父閲忥紝浣嗕笉璧嬪鹼紝鍦ㄦ瀯閫犲嚱鏁板垵濮嬪寲琛ㄤ腑榪涜璧嬪鹼紱
2銆?鐢ㄦ灇涓句唬鏇縞onst甯擱噺銆?/font>
鍏丆++鍑芥暟涓肩殑浼犻掓柟寮?/font>
鏈変笁縐嶆柟寮忥細(xì)鍊間紶閫?Pass by value)銆佹寚閽堜紶閫?Pass by pointer)銆佸紩鐢ㄤ紶閫?Pass by reference)
void fun(char c) //pass by value
void fun(char *str) //pass by pointer
void fun(char &str) //pass by reference
濡傛灉杈撳叆鍙傛暟鏄互鍊間紶閫掔殑璇濓紝鏈濂戒嬌鐢ㄥ紩鐢ㄤ紶閫掍唬鏇匡紝鍥犱負(fù)寮曠敤浼犻掔渷鍘諱簡涓存椂瀵硅薄鐨勬瀯閫犲拰鏋愭瀯
鍑芥暟鐨勭被鍨嬩笉鑳界渷鐣ワ紝灝辯畻娌℃湁涔熻鍔犱釜void
涓冦佸嚱鏁頒綋涓殑鎸囬拡鎴栧紩鐢ㄥ父閲忎笉鑳借榪斿洖
Char *func(void)
{
char str[]=”Hello Word”;
//榪欎釜鏄笉鑳借榪斿洖鐨勶紝鍥犱負(fù)str鏄釜鎸囧畾鍙橀噺錛屼笉鏄竴鑸殑鍊鹼紝鍑芥暟緇撴潫鍚庝細(xì)琚敞閿鎺?/font>
return str;
}
鍑芥暟浣撳唴鐨勬寚閽堝彉閲忓茍涓嶄細(xì)闅忕潃鍑芥暟鐨勬秷浜¤岃嚜鍔ㄩ噴鏀?/font>
鍏佷竴涓唴瀛樻嫹璐濆嚱鏁扮殑瀹炵幇浣?/font>
void *memcpy(void *pvTo,const void *pvFrom,size_t size)
{
assert((pvTo!=NULL)&&(pvFrom!=NULL));
byte *pbTo=(byte*)pvTo; //闃叉鍦板潃琚敼鍙?/font>
byte *pbFrom=(byte*)pvFrom;
while (size-- >0)
pbTo++ = pbForm++;
return pvTo;
}
涔?jié)銆佸唴瀛樼殑鍒嗛厤鏂瑰紡
鍒嗛厤鏂瑰紡鏈変笁縐嶏紝璇瘋浣忥紝璇翠笉瀹氶偅澶╁幓闈㈣瘯鐨勬椂鍊欏氨浼?xì)鏈変汉闂綘杩欓棶棰?/font>
1銆?闈欐佸瓨鍌ㄥ尯錛屾槸鍦ㄧ▼搴忕紪璇戞椂灝卞凡緇忓垎閰嶅ソ鐨勶紝鍦ㄦ暣涓繍琛屾湡闂撮兘瀛樺湪錛屽鍏ㄥ眬鍙橀噺銆佸父閲忋?/font>
2銆?鏍堜笂鍒嗛厤錛屽嚱鏁板唴鐨勫眬閮ㄥ彉閲忓氨鏄粠榪欏垎閰嶇殑錛屼絾鍒嗛厤鐨勫唴瀛樺鏄撴湁闄愩?/font>
3銆?鍫嗕笂鍒嗛厤錛屼篃縐板姩鎬佸垎閰嶏紝濡傛垜浠敤new,malloc鍒嗛厤鍐呭瓨錛岀敤delete,free鏉ラ噴鏀劇殑鍐呭瓨銆?/font>
鍗併佸唴瀛樺垎閰嶇殑娉ㄦ剰浜嬮」
鐢╪ew鎴杕alloc鍒嗛厤鍐呭瓨鏃訛紝蹇呴』瑕佸姝ゆ寚閽堣祴鍒濆箋?/font>
鐢╠elete 鎴杅ree閲婃斁鍐呭瓨鍚庯紝蹇呴』瑕佸皢鎸囬拡鎸囧悜NULL
涓嶈兘淇敼鎸囧悜甯擱噺鐨勬寚閽堟暟鎹?/font>
鍗佷竴銆佸唴瀹瑰鍒朵笌姣旇緝
//鏁扮粍……
char a[]=”Hello Word!”;
char b[10];
strcpy(b,a);
if (strcmp(a,b)==0)
{}
//鎸囬拡……
char a[]=”Hello Word!”;
char *p;
p=new char[strlen(a)+1];
strcpy(p,a);
if (strcmp(p,a)==0)
{}
鍗佷簩銆乻izeof鐨勯棶棰?/font>
璁頒綇涓鐐癸紝C++鏃犳硶鐭ラ亾鎸囬拡鎵鎸囧璞$殑澶у皬錛屾寚閽堢殑澶у皬姘歌繙涓?瀛楄妭
char a[]=”Hello World!”
char *p=a;
count sizeof(a) end; //12瀛楄妭
count sizeof(p) endl; //4瀛楄妭
鑰屼笖錛屽湪鍑芥暟涓紝鏁扮粍鍙傛暟閫鍖栦負(fù)鎸囬拡錛屾墍浠ヤ笅闈㈢殑鍐呭姘歌繙杈撳嚭涓?
void fun(char a[1000])
{
count sizeof(a) endl; //杈撳嚭4鑰屼笉鏄?000
}
鍗佷笁銆佸叧浜庢寚閽?/font>
1銆?鎸囬拡鍒涘緩鏃跺繀欏昏鍒濆鍖?/font>
2銆?鎸囬拡鍦╢ree 鎴杁elete鍚庡繀欏葷疆涓篘ULL
3銆?鎸囬拡鐨勯暱搴﹂兘涓?瀛楄妭
錛斻侀噴鏀懼唴瀛樻椂錛屽鏋滄槸鏁扮粍鎸囬拡錛屽繀欏昏閲婃斁鎺夋墍鏈夌殑鍐呭瓨錛屽
char *p=new char[100];
strcpy(p,”Hello World”);
delete []p; //娉ㄦ剰鍓嶉潰鐨勶薊錛藉彿
p=NULL;
錛曘佹暟緇勬寚閽堢殑鍐呭涓嶈兘瓚呰繃鏁扮粍鎸囬拡鐨勬渶澶у鏄撱?/font>
濡?
char *p=new char[5];
strcpy(p,”Hello World”); //鎶ラ敊 鐩爣瀹規(guī)槗涓嶅澶?/font>
delete []p; //娉ㄦ剰鍓嶉潰鐨勶薊錛藉彿
p=NULL;
鍗佸洓銆佸叧浜巑alloc/free 鍜宯ew /delete
l malloc/free 鏄疌/C+鐨勫唴瀛樺垎閰嶇錛宯ew /delete鏄疌++鐨勫唴瀛樺垎閰嶇銆?/font>
l 娉ㄦ剰錛歮alloc/free鏄簱鍑芥暟錛宯ew/delete鏄繍綆楃
l malloc/free涓嶈兘鎵ц鏋勯犲嚱鏁頒笌鏋愭瀯鍑芥暟錛岃宯ew/delete鍙互
l new/delete涓嶈兘鍦–涓婅繍琛岋紝鎵浠alloc/free涓嶈兘琚窐姹?/font>
l 涓よ呴兘蹇呴』瑕佹垚瀵逛嬌鐢?/font>
l C++涓彲浠ヤ嬌鐢╛set_new_hander鍑芥暟鏉ュ畾涔夊唴瀛樺垎閰嶅紓甯哥殑澶勭悊
鍗佷簲銆侊跡++鐨勭壒鎬?/font>
錛?+鏂板鍔犳湁閲嶈澆(overload)錛屽唴鑱旓紙inline錛夛紝Const錛孷irtual鍥涚鏈哄埗
閲嶈澆鍜屽唴鑱旓細(xì)鍗沖彲鐢ㄤ簬鍏ㄥ眬鍑芥暟錛屼篃鍙敤浜庣被鐨勬垚鍛樺嚱鏁幫紱
Const鍜孷irtual錛氬彧鍙敤浜庣被鐨勬垚鍛樺嚱鏁幫紱
閲嶈澆錛氬湪鍚屼竴綾諱腑錛屽嚱鏁板悕鐩稿悓鐨勫嚱鏁般傜敱涓嶅悓鐨勫弬鏁板喅瀹氳皟鐢ㄩ偅涓嚱鏁般傚嚱鏁板彲瑕佷笉鍙Virtual鍏抽敭瀛椼傚拰鍏ㄥ眬鍑芥暟鍚屽悕鐨勫嚱鏁頒笉鍙噸杞姐傚鏋滃湪綾諱腑璋冪敤鍚屽悕鐨勫叏灞鍑芥暟錛屽繀欏葷敤鍏ㄥ眬寮曠敤絎﹀彿::寮曠敤銆?/font>
瑕嗙洊鏄寚媧劇敓綾誨嚱鏁拌鐩栧熀綾誨嚱鏁?/font>
鍑芥暟鍚嶇浉鍚岋紱
鍙傛暟鐩稿悓錛?/font>
鍩虹被鍑芥暟蹇呴』鏈塚irtual鍏抽敭瀛楋紱
涓嶅悓鐨勮寖鍥?媧劇敓綾誨拰鍩虹被)銆?/font>
闅愯棌鏄寚媧劇敓綾誨睆钄戒簡鍩虹被鐨勫悓鍚嶅嚱鏁扮浉鍚?/font>
1銆?鍑芥暟鍚嶇浉鍚岋紝浣嗗弬鏁頒笉鍚岋紝姝ゆ椂涓嶈鍩虹被鏈夋棤Virtual鍏抽敭瀛楋紝鍩虹被鍑芥暟灝嗚闅愯棌銆?/font>
2銆?鍑芥暟鍚嶇浉鍚岋紝鍙傛暟涔熺浉鍚岋紝浣嗗熀綾繪棤Virtual鍏抽敭瀛?鏈夊氨鏄鐩?錛屽熀綾誨嚱鏁板皢琚殣钘忋?/font>
鍐呰仈錛歩nline鍏抽敭瀛楀繀欏諱笌瀹氫箟浣撴斁鍦ㄤ竴璧鳳紝鑰屼笉鏄崟鍗曟斁鍦ㄥ0鏄庝腑銆?/font>
Const錛歝onst鏄痗onstant鐨勭緝鍐欙紝“鎭掑畾涓嶅彉”鐨勬剰鎬濄傝const淇グ鐨勪笢瑗塊兘鍙楀埌寮哄埗淇濇姢錛屽彲浠ラ闃叉剰澶栫殑鍙樺姩錛岃兘鎻愰珮紼嬪簭鐨勫仴澹с?/font>
1銆?鍙傛暟鍋氳緭鍏ョ敤鐨勬寚閽堝瀷鍙傛暟錛屽姞涓奵onst鍙槻姝㈣鎰忓鏀瑰姩銆?/font>
2銆?鎸夊煎紩鐢ㄧ殑鐢ㄦ埛綾誨瀷鍋氳緭鍏ュ弬鏁版椂錛屾渶濂藉皢鎸夊間紶閫掔殑鏀逛負(fù)寮曠敤浼犻掞紝騫跺姞涓奵onst鍏抽敭瀛楋紝鐩殑鏄負(fù)浜嗘彁楂樻晥鐜囥傛暟鎹被鍨嬩負(fù)鍐呴儴綾誨瀷鐨勫氨娌″繀瑕佸仛榪欎歡浜嬫儏錛涘錛?/font>
灝唙oid Func(A a) 鏀逛負(fù)void Func(const A &a)銆?/font>
鑰寁oid func(int a)灝辨病蹇呰鏀規(guī)垚void func(const int &a);
3銆?緇欒繑鍥炲間負(fù)鎸囬拡綾誨瀷鐨勫嚱鏁板姞涓奵onst錛屼細(xì)浣垮嚱鏁拌繑鍥炲間笉鑳借淇敼錛岃祴緇欑殑鍙橀噺涔熷彧鑳芥槸const鍨嬪彉閲忋傚錛氬嚱鏁癱onst char*GetString(void); char *str=GetString()灝嗕細(xì)鍑洪敊銆傝宑onst char *str=GetString()灝嗘槸姝g‘鐨勩?/font>
4銆?Const鎴愬憳鍑芥暟鏄寚姝ゅ嚱鏁頒綋鍐呭彧鑳借皟鐢–onst鎴愬憳鍙橀噺錛屾彁楂樼▼搴忕殑閿.鎬с傚澹版槑鍑芥暟 int GetCount(void) const;姝ゅ嚱鏁頒綋鍐呭氨鍙兘璋冪敤Const鎴愬憳鍙橀噺銆?/font>
Virtual錛氳櫄鍑芥暟錛氭淳鐢熺被鍙互瑕嗙洊鎺夌殑鍑芥暟錛岀函铏氬嚱鏁幫細(xì)鍙槸涓┖鍑芥暟錛屾病鏈夊嚱鏁板疄鐜頒綋錛?/font>
鍗佸叚銆乪xtern“C”鏈変粈涔堜綔鐢紵
Extern “C”鏄敱錛o紜錛嬫彁渚涚殑涓涓繛鎺ヤ氦鎹㈡寚瀹氱鍙鳳紝鐢ㄤ簬鍛婅瘔錛o紜錛嬭繖孌典唬鐮佹槸錛e嚱鏁般傝繖鏄洜涓篊++緙栬瘧鍚庡簱涓嚱鏁板悕浼?xì)鍙樺緱寰堥暱锛屼笌C鐢熸垚鐨勪笉涓鑷達(dá)紝閫犳垚錛o紜錛嬩笉鑳界洿鎺ヨ皟鐢–鍑芥暟錛屽姞涓奺xtren “c”鍚庯紝C++灝辮兘鐩存帴璋冪敤C鍑芥暟浜嗐?/font>
Extern “C”涓昏浣跨敤姝hDLL鍑芥暟鐨勫紩鐢ㄥ拰瀵煎嚭 鍜?鍦–++鍖呭惈C鍑芥暟鎴朇澶存枃浠舵椂浣跨敤銆備嬌鐢ㄦ椂鍦ㄥ墠闈㈠姞涓奺xtern “c” 鍏抽敭瀛楀嵆鍙?/font>
鍗佷竷銆佹瀯閫犲嚱鏁頒笌鏋愭瀯鍑芥暟
媧劇敓綾葷殑鏋勯犲嚱鏁板簲鍦ㄥ垵濮嬪寲琛ㄩ噷璋冪敤鍩虹被鐨勬瀯閫犲嚱鏁幫紱
媧劇敓綾誨拰鍩虹被鐨勬瀽鏋勫嚱鏁板簲鍔燰irtual鍏抽敭瀛椼?/font>
涓嶈灝忕湅鏋勯犲嚱鏁板拰鏋愭瀯鍑芥暟錛屽叾瀹炵紪璧鋒潵榪樻槸涓嶅鏄撱?/font>
#include iostream.h>
class Base
{
public:
virtual ~Base() { cout "~Base" endl ; }
};
class Derived : public Base
{
public:
virtual ~Derived() { cout "~Derived" endl ; }
};
void main(void)
{
Base * pB = new Derived; // upcast
delete pB;
}
杈撳嚭緇撴灉涓猴細(xì)
~Derived
~Base
濡傛灉鏋愭瀯鍑芥暟涓嶄負(fù)铏氾紝閭d箞杈撳嚭緇撴灉涓?/font>
~Base
鍗佸叓銆?IFNDEF/#DEFINE/#ENDIF鏈変粈涔堜綔鐢?/font>
浠挎璇ュご鏂囦歡琚噸澶嶅紩鐢?/font>
涓 const鍩虹
濡傛灉const鍏抽敭瀛椾笉娑夊強(qiáng)鍒版寚閽堬紝鎴戜滑寰堝ソ鐞嗚В錛屼笅闈㈡槸娑夊強(qiáng)鍒版寚閽堢殑鎯呭喌錛?br>
int b = 500;
const int* a = &b; [1]
int const *a = &b; [2]
int* const a = &b; [3]
const int* const a = &b; [4]
濡傛灉浣犺兘鍖哄垎鍑轟笂榪板洓縐嶆儏鍐碉紝閭d箞錛屾伃鍠滀綘錛屼綘宸茬粡榪堝嚭浜嗗彲鍠滅殑涓姝ャ備笉鐭ラ亾錛屼篃娌″叧緋伙紝鎴戜滑鍙互鍙傝冦奅ffective c++銆婭tem21涓婄殑鍋氭硶錛屽鏋渃onst浣嶄簬鏄熷彿鐨勫乏渚э紝鍒檆onst灝辨槸鐢ㄦ潵淇グ鎸囬拡鎵鎸囧悜鐨勫彉閲忥紝鍗蟲寚閽堟寚鍚戜負(fù)甯擱噺錛涘鏋渃onst浣嶄簬鏄熷彿鐨勫彸渚э紝const灝辨槸淇グ鎸囬拡鏈韓錛屽嵆鎸囬拡鏈韓鏄父閲忋傚洜姝わ紝[1]鍜孾2]鐨勬儏鍐電浉鍚岋紝閮芥槸鎸囬拡鎵鎸囧悜鐨勫唴瀹逛負(fù)甯擱噺錛坈onst鏀懼湪鍙橀噺澹版槑絎︾殑浣嶇疆鏃犲叧錛夛紝榪欑鎯呭喌涓嬩笉鍏佽瀵瑰唴瀹硅繘琛屾洿鏀規(guī)搷浣滐紝濡備笉鑳?a = 3 錛沎3]涓烘寚閽堟湰韜槸甯擱噺錛岃屾寚閽堟墍鎸囧悜鐨勫唴瀹逛笉鏄父閲忥紝榪欑鎯呭喌涓嬩笉鑳藉鎸囬拡鏈韓榪涜鏇存敼鎿嶄綔錛屽a++鏄敊璇殑錛沎4]涓烘寚閽堟湰韜拰鎸囧悜鐨勫唴瀹瑰潎涓哄父閲忋?br>鍙﹀const 鐨勪竴浜涘己澶х殑鍔熻兘鍦ㄤ簬瀹冨湪鍑芥暟澹版槑涓殑搴旂敤銆傚湪涓涓嚱鏁板0鏄庝腑錛宑onst 鍙互淇グ鍑芥暟鐨勮繑鍥炲鹼紝鎴栨煇涓弬鏁幫紱瀵逛簬鎴愬憳鍑芥暟錛岃繕鍙互淇グ鏄暣涓嚱鏁般傛湁濡備笅鍑犵鎯呭喌錛屼互涓嬩細(xì)閫愭笎鐨勮鏄庣敤娉曪細(xì)
A& operator=(const A& a);
void fun0(const A* a );
void fun1( ) const; // fun1( ) 涓虹被鎴愬憳鍑芥暟
const A fun2( );
浜?const鐨勫垵濮嬪寲
鍏堢湅涓涓媍onst鍙橀噺鍒濆鍖栫殑鎯呭喌
1) 闈炴寚閽坈onst甯擱噺鍒濆鍖栫殑鎯呭喌錛?br>
A b;
const A a = b;
2) 鎸囬拡(寮曠敤)const甯擱噺鍒濆鍖栫殑鎯呭喌錛?br>
A* d = new A();
const A* c = d;
鎴栬咃細(xì)const A* c = new A();
寮曠敤錛?br>A f;
const A& e = f; // 榪欐牱浣渆鍙兘璁塊棶澹版槑涓篶onst鐨勫嚱鏁幫紝鑰屼笉鑳借闂竴鑸殑鎴愬憳鍑芥暟錛?br>
[鎬濊?]錛?浠ヤ笅鐨勮繖縐嶈祴鍊兼柟娉曟紜悧錛?br>const A* c=new A();
A* e = c;
[鎬濊?]錛?浠ヤ笅鐨勮繖縐嶈祴鍊兼柟娉曟紜悧錛?br>A* const c = new A();
A* b = c;
涓?浣滀負(fù)鍙傛暟鍜岃繑鍥炲肩殑const淇グ絎?br>
鍏跺疄錛屼笉璁烘槸鍙傛暟榪樻槸榪斿洖鍊鹼紝閬撶悊閮芥槸涓鏍風(fēng)殑錛屽弬鏁頒紶鍏ユ椂鍊欏拰鍑芥暟榪斿洖鐨勬椂鍊欙紝鍒濆鍖朿onst鍙橀噺
1 淇グ鍙傛暟鐨刢onst錛屽 void fun0(const A* a ); void fun1(const A& a);
璋冪敤鍑芥暟鐨勬椂鍊欙紝鐢ㄧ浉搴旂殑鍙橀噺鍒濆鍖朿onst甯擱噺錛屽垯鍦ㄥ嚱鏁頒綋涓紝鎸夌収const鎵淇グ鐨勯儴鍒嗚繘琛屽父閲忓寲錛屽褰㈠弬涓篶onst A* a錛屽垯涓嶈兘瀵逛紶閫掕繘鏉ョ殑鎸囬拡鐨勫唴瀹硅繘琛屾敼鍙橈紝淇濇姢浜嗗師鎸囬拡鎵鎸囧悜鐨勫唴瀹癸紱濡傚艦鍙備負(fù)const A& a錛屽垯涓嶈兘瀵逛紶閫掕繘鏉ョ殑寮曠敤瀵硅薄榪涜鏀瑰彉錛屼繚鎶や簡鍘熷璞$殑灞炴с?br>[娉ㄦ剰]錛氬弬鏁癱onst閫氬父鐢ㄤ簬鍙傛暟涓烘寚閽堟垨寮曠敤鐨勬儏鍐?
2 淇グ榪斿洖鍊肩殑const錛屽const A fun2( ); const A* fun3( );
榪欐牱澹版槑浜嗚繑鍥炲煎悗錛宑onst鎸夌収"淇グ鍘熷垯"榪涜淇グ錛岃搗鍒扮浉搴旂殑淇濇姢浣滅敤銆?br>
const Rational operator*(const Rational& lhs, const Rational& rhs)
{
return Rational(lhs.numerator() * rhs.numerator(),
lhs.denominator() * rhs.denominator());
}
榪斿洖鍊肩敤const淇グ鍙互闃叉鍏佽榪欐牱鐨勬搷浣滃彂鐢?
Rational a,b;
Radional c;
(a*b) = c;
涓鑸敤const淇グ榪斿洖鍊間負(fù)瀵硅薄鏈韓錛堥潪寮曠敤鍜屾寚閽堬級鐨勬儏鍐靛鐢ㄤ簬浜岀洰鎿嶄綔絎﹂噸杞藉嚱鏁板茍浜х敓鏂板璞$殑鏃跺欍?br>[鎬葷粨] 涓鑸儏鍐典笅錛屽嚱鏁扮殑榪斿洖鍊間負(fù)鏌愪釜瀵硅薄鏃訛紝濡傛灉灝嗗叾澹版槑涓篶onst鏃訛紝澶氱敤浜庢搷浣滅鐨勯噸杞姐傞氬父錛屼笉寤鴻鐢╟onst淇グ鍑芥暟鐨勮繑鍥炲肩被鍨嬩負(fù)鏌愪釜瀵硅薄鎴栧鏌愪釜瀵硅薄寮曠敤鐨勬儏鍐點(diǎn)?br>鍘熷洜濡備笅錛?br>濡傛灉榪斿洖鍊間負(fù)鏌愪釜瀵硅薄涓篶onst錛坈onst A test = A 瀹炰緥錛夋垨鏌愪釜瀵硅薄鐨勫紩鐢ㄤ負(fù)const錛坈onst A& test = A瀹炰緥錛夛紝鍒欒繑鍥炲煎叿鏈塩onst灞炴э紝鍒欒繑鍥炲疄渚嬪彧鑳借闂被A涓殑鍏湁錛堜繚鎶わ級鏁版嵁鎴愬憳鍜宑onst鎴愬憳鍑芥暟錛屽茍涓斾笉鍏佽瀵瑰叾榪涜璧嬪兼搷浣滐紝榪欏湪涓鑸儏鍐典笅寰堝皯鐢ㄥ埌銆?br>
[鎬濊?]錛?榪欐牱瀹氫箟璧嬪兼搷浣滅閲嶈澆鍑芥暟鍙互鍚楋紵
const A& operator=(const A& a);
鍥?綾繪垚鍛樺嚱鏁頒腑const鐨勪嬌鐢?br>
涓鑸斁鍦ㄥ嚱鏁頒綋鍚庯紝褰㈠錛歷oid fun() const;
濡傛灉涓涓垚鍛樺嚱鏁扮殑涓嶄細(xì)淇敼鏁版嵁鎴愬憳錛岄偅涔堟渶濂藉皢鍏跺0鏄庝負(fù)const錛屽洜涓篶onst鎴愬憳鍑芥暟涓笉鍏佽瀵規(guī)暟鎹垚鍛樿繘琛屼慨鏀癸紝濡傛灉淇敼錛岀紪璇戝櫒灝嗘姤閿欙紝榪欏ぇ澶ф彁楂樹簡紼嬪簭鐨勫仴澹с?br>
浜?浣跨敤const鐨勪竴浜涘緩璁?br>
1 瑕佸ぇ鑳嗙殑浣跨敤const錛岃繖灝嗙粰浣犲甫鏉ユ棤灝界殑鐩婂錛屼絾鍓嶆彁鏄綘蹇呴』鎼炴竻妤氬師濮旓紱
2 瑕侀伩鍏嶆渶涓鑸殑璧嬪兼搷浣滈敊璇紝濡傚皢const鍙橀噺璧嬪鹼紝鍏蜂綋鍙鎬濊冮錛?br>3 鍦ㄥ弬鏁頒腑浣跨敤const搴旇浣跨敤寮曠敤鎴栨寚閽堬紝鑰屼笉鏄竴鑸殑瀵硅薄瀹炰緥錛屽師鍥犲悓涓婏紱
4 const鍦ㄦ垚鍛樺嚱鏁頒腑鐨勪笁縐嶇敤娉曪紙鍙傛暟銆佽繑鍥炲箋佸嚱鏁幫級瑕佸緢濂界殑浣跨敤錛?br>5 涓嶈杞繪槗鐨勫皢鍑芥暟鐨勮繑鍥炲肩被鍨嬪畾涓篶onst;
6闄や簡閲嶈澆鎿嶄綔絎﹀涓鑸笉瑕佸皢榪斿洖鍊肩被鍨嬪畾涓哄鏌愪釜瀵硅薄鐨刢onst寮曠敤;
[鎬濊冮絳旀]
1 榪欑鏂規(guī)硶涓嶆紜紝鍥犱負(fù)澹版槑鎸囬拡鐨勭洰鐨勬槸涓轟簡瀵瑰叾鎸囧悜鐨勫唴瀹硅繘琛屾敼鍙橈紝鑰屽0鏄庣殑鎸囬拡e鎸囧悜鐨勬槸涓涓父閲忥紝鎵浠ヤ笉姝g‘錛?br>2 榪欑鏂規(guī)硶姝g‘錛屽洜涓哄0鏄庢寚閽堟墍鎸囧悜鐨勫唴瀹瑰彲鍙橈紱
3 榪欑鍋氭硶涓嶆紜紱
鍦╟onst A::operator=(const A& a)涓紝鍙傛暟鍒楄〃涓殑const鐨勭敤娉曟紜紝鑰屽綋榪欐牱榪炵畫璧嬪肩殑鏃朵警錛岄棶棰樺氨鍑虹幇浜嗭細(xì)
A a,b,c:
(a=b)=c;
鍥犱負(fù)a.operator=(b)鐨勮繑鍥炲兼槸瀵筧鐨刢onst寮曠敤錛屼笉鑳藉啀灝哻璧嬪肩粰const甯擱噺銆?/p>
聽聽聽 int n=9; double d=static_cast < double > (n);
涓婇潰鐨勪緥瀛愪腑, 鎴戜滑灝嗕竴涓彉閲忎粠 int 杞崲鍒?double. 榪欎簺綾誨瀷鐨勪簩榪涘埗琛ㄨ揪寮忔槸涓嶅悓鐨? 瑕佸皢鏁存暟 9 杞崲鍒?鍙岀簿搴︽暣鏁?9, static_cast 闇瑕佹紜湴涓哄弻綺懼害鏁存暟 d 琛ヨ凍姣旂壒浣? 鍏剁粨鏋滀負(fù) 9.0. reinterpret_cast 鐨勮涓哄嵈涓嶅悓:
聽聽聽 int n=9;
聽聽聽 double d=reinterpret_cast<double & > (n);
榪欐, 緇撴灉鏈夋墍涓嶅悓. 鍦ㄨ繘琛岃綆椾互鍚? d 鍖呭惈鏃犵敤鍊? 榪欐槸鍥犱負(fù) reinterpret_cast 浠呬粎鏄鍒?n 鐨勬瘮鐗逛綅鍒?d, 娌℃湁榪涜蹇呰鐨勫垎鏋?
鍥犳, 浣犻渶瑕佽皚鎱庝嬌鐢?reinterpret_cast.
聽
reinterpret_casts鐨勬渶鏅氱殑鐢ㄩ斿氨鏄湪鍑芥暟鎸囬拡綾誨瀷涔嬮棿榪涜杞崲銆備緥濡傦紝鍋囪浣犳湁涓涓嚱鏁版寚閽堟暟緇勶細(xì)
typedef void (*FuncPtr)();聽聽聽聽聽 // FuncPtr is 涓涓寚鍚戝嚱鏁?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // 鐨勬寚閽堬紝璇ュ嚱鏁版病鏈夊弬鏁?br />聽聽聽 // 榪斿洖鍊肩被鍨嬩負(fù)void
FuncPtr funcPtrArray[10];聽聽聽聽聽聽 // funcPtrArray 鏄竴涓兘瀹圭撼
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // 10涓狥uncPtrs鎸囬拡鐨勬暟緇?br />璁╂垜浠亣璁句綘甯屾湜錛堝洜涓烘煇浜涜帿鍚嶅叾濡欑殑鍘熷洜錛夋妸涓涓寚鍚戜笅闈㈠嚱鏁扮殑鎸囬拡瀛樺叆funcPtrArray鏁扮粍錛?br />int doSomething();
浣犱笉鑳戒笉緇忚繃綾誨瀷杞崲鑰岀洿鎺ュ幓鍋氾紝鍥犱負(fù)doSomething鍑芥暟瀵逛簬funcPtrArray鏁扮粍鏉ヨ鏈変竴涓敊璇殑綾誨瀷銆傚湪FuncPtrArray鏁扮粍閲岀殑鍑芥暟榪斿洖鍊兼槸void綾誨瀷錛岃宒oSomething鍑芥暟榪斿洖鍊兼槸int綾誨瀷銆?br />funcPtrArray[0] = &doSomething;聽聽聽聽 // 閿欒錛佺被鍨嬩笉鍖歸厤
reinterpret_cast鍙互璁╀綘榪嬌緙栬瘧鍣ㄤ互浣犵殑鏂規(guī)硶鍘葷湅寰呭畠浠細(xì)
funcPtrArray[0] =聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // this compiles
聽 reinterpret_cast<FuncPtr>(&doSomething);
杞崲鍑芥暟鎸囬拡鐨勪唬鐮佹槸涓嶅彲縐繪鐨勶紙C++涓嶄繚璇佹墍鏈夌殑鍑芥暟鎸囬拡閮借鐢ㄤ竴鏍風(fēng)殑鏂規(guī)硶琛ㄧず錛夛紝鍦ㄤ竴浜涙儏鍐典笅榪欐牱鐨勮漿鎹細(xì)浜х敓涓嶆紜殑緇撴灉錛堝弬瑙佹潯嬈綧31錛夛紝鎵浠ヤ綘搴旇閬垮厤杞崲鍑芥暟鎸囬拡綾誨瀷錛岄櫎闈炰綘澶勪簬鐫鑳屾按涓鎴樺拰灝栧垁鏋跺枆鐨勫嵄鎬ユ椂鍒匯?/p>
聽
[1] 鍦ㄧ紪鍐欑▼搴忔椂錛屼綘鏄湪涓轟綘閽堝鏌愪釜闂鐨勮В鍐蟲柟妗堜腑鐨勬濇兂寤虹珛璧蜂竴縐嶅叿浣撹〃紺恒傝紼嬪簭鐨勭粨鏋勫敖鍙兘鍦扮洿鎺ュ弽鏄犺繖浜涙濇兂錛?br />聽聽聽 [a] 濡傛灉浣犺兘鎶娾滃畠鈥濈湅鎴愪竴涓嫭绔嬬殑姒傚康錛屽氨鎶婂畠鍋氭垚涓涓被銆?br />聽聽聽 [b] 濡傛灉浣犺兘鎶娾滃畠鈥濈湅鎴愪竴涓嫭绔嬪湴瀹炰綋錛屽氨鎶婂畠鍋氭垚鏌愪釜綾葷殑涓涓璞°?br />聽聽聽 [c] 濡傛灉涓や釜綾繪湁鍏卞悓鐨勭晫闈紝灝嗘鐣岄潰鍋氭垚涓涓娊璞$被銆?br />聽聽聽 [d] 濡傛灉涓や釜綾葷殑瀹炵幇鏈夋煇浜涙樉钁楃殑鍏卞悓涓滆タ錛岄潤榪欎簺鍏辨у仛鎴愪竴涓熀綾匯?br />聽聽聽 [e] 濡傛灉涓涓被鏄竴縐嶅璞$殑瀹瑰櫒錛屽皢瀹冨仛鎴愪竴涓ā鏉褲?br />聽聽聽 [f] 濡傛灉涓涓嚱鏁板疄鐜板鏌愬鍣ㄧ殑涓涓畻娉曪紝灝嗗畠瀹炵幇涓哄涓鏃忓鍣ㄥ彲鐢ㄧ殑妯℃澘鍑芥暟銆?br />聽聽聽 [g] 濡傛灉涓緇勭被銆佹ā鏉跨瓑浜掔浉涔嬮棿鏈夐昏緫鍏崇郴錛屽皢瀹冧滑鏀捐繘涓涓悕瀛楃┖闂村姏銆?br />[2] 鍦ㄤ綘瀹氫箟涓涓茍涓嶆槸瀹炵幇鏌愪釜鍍忕煩闃墊垨澶嶆暟榪欐牱鐨勬暟瀛﹀璞$殑綾繪椂錛屾垨鑰呭畾涔変竴涓綆灞傚湴綾誨瀷濡傞摼鎺ヨ〃鐨勬椂鍊欙細(xì)
聽聽聽 [a] 涓嶈浣跨敤鍏ㄥ眬鏁版嵁錛堜嬌鐢ㄦ垚鍛橈級銆?br />聽聽聽 [b] 涓嶈浣跨敤鍏ㄥ眬鍑芥暟銆?br />聽聽聽 [c] 涓嶈浣跨敤鍏敤鏁版嵁鎴愬憳銆?br />聽聽聽 [d] 涓嶈浣跨敤鍙嬪厓錛岄櫎闈炰負(fù)浜嗛伩鍏峓a]鎴朳c]銆?br />聽聽聽 [e] 涓嶈鍦ㄤ竴涓被閲岄潰鏀鋸滅被鍨嬪煙鈥濓紱閲囩敤铏氬嚱鏁般?br />聽聽聽 [f] 涓嶈浣跨敤鍦ㄧ嚎鍑芥暟錛岄櫎闈炲駭浣嶆晥鏋滄樉钁楃殑浼樺寲銆?/p>
絎?绔?C++姒傝
[1] 涓嶇敤瀹蟲曪紝涓鍒囬兘浼?xì)闅忕潃鏃墮棿鐨勬帹縐昏岄愭笎鏄庢湕璧鋒潵銆?br />[2] 浣犲茍涓嶉渶瑕佸湪鐭ラ亾浜咰++鍦版墍鏈夌粏鑺備箣鍚庢墠鑳藉啓鍑哄ソ鐨凜++紼嬪簭銆?br />[3] 璇風(fēng)壒鍒叧娉ㄧ▼搴忚璁℃妧鏈紝鑰屼笉鏄悇縐嶈璦鐗瑰緛銆?/p>
絎?绔?鏍囧噯搴撴蹇?/p>
[1] 涓嶈鍍忛噸鏂板彂鏄庤濺杞偅鏍蜂紒鍥懼仛姣忎歡浜嬶紱鍘諱嬌鐢ㄥ簱銆?br />[2] 涓嶈鐩鎬俊濂囪抗錛涜鐞嗚В浣犵殑搴撹兘鍋氫粈涔堬紝瀹冧滑濡備綍鍋氾紝瀹冧滑鍋氭椂闇瑕佸澶т唬浠楓?br />[3] 褰撲綘閬囧埌涓涓夋嫨鏃訛紝搴旇浼樺厛閫夋嫨鏍囧噯搴撹屼笉鏄叾浠栫殑搴撱?br />[4] 涓嶈璁や負(fù)鏍囧噯搴撳浜庝換浣曚簨鎯呴兘鏄渶鐞嗘兂鐨勩?br />[5] 鍒囪#include浣犳墍鐢ㄥ埌鐨勫姛鑳界殑澶存枃浠躲?br />[6] 璁頒綇錛屾爣鍑嗗簱鐨勫姛鑳藉畾涔夊湪鍚嶅瓧絀洪棿std涓?br />[7] 璇風(fēng)敤string錛岃屼笉鏄痗har*銆?br />[8] 濡傛灉鎬鐤戯紝灝辯敤涓涓鏌ュ尯闂磋寖鍥寸殑鍚戦噺銆?br />[9] vector<T>銆乴ist<T>鍜宮ap<key, value>閮芥瘮T[]濂姐?br />[10] 濡傛灉瑕佸悜涓涓鍣ㄤ腑娣誨姞涓涓厓绱狅紝鐢╬ush_back()鎴朾ack_insert()銆?br />[11] 閲囩敤瀵箆ector鐨刾ush_back()錛岃屼笉鏄痳ealloc()銆?br />[12] 鍦╩ain()涓崟鎹夊叕鍏辯殑寮傚父銆?/p>
絎?绔?綾誨瀷鍜屽0鏄?/p>
[1] 淇濇寔杈冨皬鐨勪綔鐢ㄥ煙銆?br />[2] 涓嶈鍦ㄤ竴涓綔鐢ㄥ煙鍜屽畠澶栧洿鐨勪綔鐢ㄥ煙閲岄噰鐢ㄥ悓鏍風(fēng)殑鍚嶅瓧銆?br />[3] 鍦ㄤ竴涓0鏄庝腑錛堝彧錛夊0鏄庝竴涓悕瀛椼?br />[4] 璁╁父鐢ㄧ殑鍜屽眬閮ㄧ殑鍚嶅瓧姣旇緝鐭紝璁╀笉甯哥敤鐨勫拰鍏ㄥ眬鐨勫悕瀛楁瘮杈冮暱銆?br />[5] 閬垮厤鐪嬭搗鏉ョ被浼肩殑鍚嶅瓧銆?br />[6] 緇存寔鏌愮緇熶竴鐨勫懡鍚嶉鏍箋?br />[7] 浠旂粏閫夋嫨鍚嶅瓧錛屽弽鏄犲叾鎰忎箟鑰屼笉鏄弽鏄犲疄鐜版柟寮忋?br />[8] 濡傛灉鎵鐢ㄧ殑鍐呴儴綾誨瀷琛ㄧず鏌愮鍙兘鍙樺寲鐨勫鹼紝璇風(fēng)敤typdef涓哄畠瀹氫箟涓涓湁鎰忎箟鐨勫悕瀛椼?br />[9] 鐢╰ypedef涓虹被鍨嬪畾涔夊悓涔夎瘝錛岀敤鏋氫婦鎴栫被鍘誨畾涔夋柊綾誨瀷銆?br />[10] 鍒囪姣忎釜澹版槑涓兘蹇呴』鎻忚堪涓涓被鍨嬶紙娌℃湁闅愬紡鐨刬nt錛夈?br />[11] 閬垮厤鏈夊叧瀛楃鍊肩殑涓嶅繀瑕佺殑鍋囪銆?br />[12] 閬垮厤鏈夊叧鏁存暟澶у皬鐨勪笉蹇呰鍋囪銆?br />[13] 閬垮厤鏈夊叧嫻偣綾誨瀷琛ㄧず鑼冨洿鐨勪笉蹇呰鍋囪銆?br />[14] 浼樺厛浣跨敤鏅氱殑int鑰屼笉鏄痵hort int鎴栬卨ong int銆?br />[15] 浼樺厛浣跨敤double鑰屼笉鏄痜loat鎴栬卨ong double銆?br />[16] 浼樺厛浣跨敤鏅氱殑char鑰屼笉鏄痵igned char鎴栬卽nsigned char銆?br />[17] 閬垮厤鍋氬嚭鏈夊叧瀵硅薄澶у皬鐨勪笉蹇呰鍋囪銆?br />[18] 閬垮厤鏃犵鍙風(fēng)畻鏈?br />[19] 搴旇甯︾潃鐤戦棶鍘葷湅寰呬粠signed鍒皍nsigned錛屾垨鑰呬粠unsigned鍒皊inged鐨勮漿鎹€?br />[20] 搴旇甯︾潃鐤戦棶鍘葷湅寰呬粠嫻偣鍒版暣鏁扮殑杞崲銆?
[21] 搴旇甯︾潃鐤戦棶鍏剁湅寰呭悜杈冨皬綾誨瀷鐨勮漿鎹紝濡傚皢int杞崲鍒癱har銆?/p>
絎?绔?鎸囬拡銆佹暟緇勫拰緇撴瀯
[1] 閬垮厤闈炲鉤鍑$殑鎸囬拡綆楁湳銆?br />[2] 褰撳績錛屼笉瑕佽秴鍑哄嚱鏁扮殑鐣岄檺鍘誨啓銆?br />[3] 灝介噺浣跨敤0鑰屼笉鏄疦ULL銆?br />[4] 灝介噺浣跨敤vector鍜寁alarrray鑰屼笉鏄唴閮紙C椋庢牸錛夌殑鏁扮粍銆?br />[5] 灝介噺浣跨敤string鑰屼笉鏄互0緇撳熬鐨刢har鏁扮粍銆?br />[6] 灝介噺灝戜嬌鐢ㄦ櫘閫氱殑寮曠敤鍙傛暟銆?br />[7] 閬垮厤void*錛岄櫎浜嗗湪鏌愪簺浣庣駭浠g悊銆?br />[8] 閬垮厤鍦ㄤ唬鐮佷腑浣跨敤闈炲鉤鍑$殑鏂囧瓧閲忥紙鈥滅縐樼殑鏁扳濓級銆傜浉鍙嶏紝搴旇瀹氫箟鍜屼嬌鐢ㄥ悇縐嶇鍙峰父閲忋?/p>
絎?绔?琛ㄨ揪寮忓拰璇彞
[1] 搴斿敖閲忓彲鑳戒嬌鐢ㄦ爣鍑嗗簱錛岃屼笉鏄叾浠栫殑搴撳拰鈥滄墜宸ユ墦閫犵殑浠g爜鈥濄?br />[2] 閬垮厤榪囦簬澶嶆潅鐨勮〃杈懼紡銆?br />[3] 濡傛灉瀵硅繍綆楃鐨勪紭鍏堢駭鏈夌枒闂紝鍔犳嫭鍙楓?br />[4] 閬垮厤鏄懼紡綾誨瀷杞崲銆?br />[5] 鑻ュ繀欏誨仛鏄懼紡綾誨瀷杞崲錛屾彁鍊′嬌鐢ㄧ壒孌婂己鍒惰繍綆楃錛岃屼笉鏄疌椋庢牸鐨勫己鍒躲?br />[6] 鍙瀹氫箟鑹ソ鐨勬瀯閫犱嬌鐢═(e)璁版硶銆?br />[7] 閬垮厤甯︽湁鏃犲畾涔夋眰鍊奸『搴忕殑琛ㄨ揪寮忋?br />[8] 閬垮厤goto銆?br />[9] 閬垮厤do璇彞銆?br />[10] 鍦ㄤ綘宸茬粡鏈変簡鍘誨垵濮嬪寲鏌愪釜鍙橀噺鐨勫間箣鍓嶏紝涓嶈鍘誨0鏄庡畠銆?br />[11] 寮忔敞閲婄畝媧併佹竻鏅般佹湁鎰忎箟銆?br />[12] 淇濇寔涓鑷寸殑緙╄繘緙栨帓椋庢牸銆?br />[13] 鍊懼悜浜庡幓瀹氫箟涓涓垚鍛樺嚱鏁皁perator new()鍘誨彇浠e叏灞鐨刼perator new()銆?br />[14] 鍦ㄨ杈撳叆鐨勬椂鍊欙紝鎬誨簲鑰冭檻鐥呮佸艦寮忕殑杈撳叆銆?/p>
絎?绔?鍑芥暟
[1] 璐ㄧ枒閭d簺闈瀋onst鐨勫紩鐢ㄥ弬鏁幫紱濡傛灉浣犳兂瑕佷竴涓嚱鏁板幓淇敼鍏跺弬鏁幫紝璇蜂嬌鐢ㄦ寚閽堟垨鑰呰繑鍥炲箋?br />[2] 褰撲綘闇瑕佸敖鍙兘鍑忓皯鍙傛暟澶嶅埗鏃訛紝搴旇浣跨敤const寮曠敤鍙傛暟銆?br />[3] 騫挎硾鑰屼竴鑷村湴浣跨敤const銆?br />[4] 閬垮厤瀹忋?br />[5] 閬垮厤涓嶇‘瀹氭暟鐩殑鍙傛暟銆?br />[6] 涓嶈榪斿洖灞閮ㄥ彉閲忕殑鎸囬拡鎴栬呭紩鐢ㄣ?br />[7] 褰撲竴浜涘嚱鏁板涓嶅悓鐨勭被鍨嬫墽琛屾蹇典笂鐩稿悓鐨勫伐浣滄椂錛岃浣跨敤閲嶈澆銆?br />[8] 鍦ㄥ悇縐嶆暣鏁頒笂閲嶈澆鏃訛紝閫氳繃鎻愪緵鍑芥暟鍘繪秷闄ゅ父瑙佺殑姝т箟鎬с?br />[9] 鍦ㄨ冭檻浣跨敤鎸囧悜鍑芥暟鐨勬寚閽堟椂錛岃鑰冭檻铏氬嚱鏁版垨妯℃澘鏄笉鏄洿濂界殑閫夋嫨銆?br />[10] 濡傛灉浣犲繀欏諱嬌鐢ㄥ畯錛岃浣跨敤甯︽湁璁稿澶у啓瀛楁瘝鐨勪笐闄嬬殑鍚嶅瓧銆?/p>
絎?绔?鍚嶅瓧絀洪棿鍜屽紓甯?/p>
[1] 鐢ㄥ悕瀛楃┖闂磋〃紺洪昏緫緇撴瀯銆?br />[2] 灝嗘瘡涓潪灞閮ㄧ殑鍚嶅瓧鏀懼叆鏌愪釜鍚嶅瓧絀洪棿閲岋紝闄や簡main()涔嬪銆?br />[3] 鍚嶅瓧絀洪棿鐨勮璁″簲璇ヨ浣犺兘寰堟柟渚垮湴浣跨敤瀹冿紝鑰屽張涓嶄細(xì)鎰忓鍦拌闂簡鍏朵粬鐨勬棤鍏沖悕瀛楃┖闂淬?br />[4] 閬垮厤瀵瑰悕瀛楃┖闂翠嬌鐢ㄥ緢鐭殑鍚嶅瓧銆?br />[5] 濡傛灉闇瑕侊紝閫氳繃鍚嶅瓧絀洪棿鍒悕鍘葷紦鍜屽拰闀垮悕瀛楃┖闂寸殑褰卞搷銆?br />[6] 閬垮厤緇欎綘鐨勫悕瀛楃┖闂寸殑鐢ㄦ埛娣誨姞澶ぇ鐨勮娉曡礋鎷呫?br />[7] 鍦ㄥ畾涔夊悕瀛楃┖闂寸殑鎴愬憳鏃朵嬌鐢╪amespace::member鐨勫艦寮忋?br />[8] 鍙湪杞崲鏃訛紝鎴栬呭湪灞閮ㄤ綔鐢ㄥ煙閲岋紝鎵嶇敤using namespace銆?br />[9] 鍒╃敤寮傚父鍘繪澗寮涒滈敊璇濆鐞嗕唬鐮佸拰姝e父澶勭悊浠g爜涔嬮棿鐨勮仈緋匯?br />[10] 閲囩敤鐢ㄦ埛瀹氫箟綾誨瀷浣滀負(fù)寮傚父錛屼笉鐢ㄥ唴閮ㄧ被鍨嬨?br />[11] 褰撳眬閮ㄦ帶鍒剁粨鏋勮凍浠ュ簲浠橀棶棰橈紝涓嶈浣跨敤寮傚父銆?/p>
絎?绔?婧愭枃浠跺拰紼嬪簭
[1] 鍒╃敤澶存枃浠跺幓琛ㄧず鐣岄潰鍜屽己璋冮昏緫緇撴瀯銆?br />[2] 鐢?include灝嗗ご鏂囦歡鍖呭惈鍒板疄鐜版湁鍏沖姛鑳界殑婧愭枃浠墮噷銆?br />[3] 涓嶈鍦ㄤ笉鍚岀紪璇戝崟浣嶉噷瀹氫箟鍏鋒湁鍚屾牱鍚嶅瓧錛屾剰涔夌被浼間絾鍙堜笉鍚岀殑鍏ㄥ眬鍙橀噺銆?br />[4] 閬垮厤鍦ㄥご鏂囦歡閲屽畾涔夐潪inline鍑芥暟銆?br />[5] 鍙湪鍏ㄥ眬浣滅敤鍩熸垨鍚嶅瓧絀洪棿閲屼嬌鐢?include銆?br />[6] 鍙敤#include鍖呭惈瀹屾暣鐨勫畾涔夈?br />[7] 浣跨敤鍖呭惈淇濇姢絎︺?br />[8] 鐢?include灝咰澶存枃浠跺寘鍚埌鍚嶅瓧絀洪棿閲岋紝浠ラ伩鍏嶅叏灞鍚嶅瓧銆?br />[9] 灝嗗ご鏂囦歡鍋氭垚鑷粰鑷凍鐨勩?br />[10] 鍖哄垎鐢ㄦ埛鐣岄潰鍜屽疄鐜扮晫闈€?br />[11] 鍖哄垎涓鑸敤鎴風(fēng)晫闈㈠拰涓撳鐢ㄦ埛鐣岄潰銆?br />[12] 鍦ㄦ湁鎰忓悜鐢ㄤ簬闈濩++紼嬪簭緇勬垚閮ㄥ垎鐨勪唬鐮佷腑錛屽簲閬垮厤闇瑕佽繍琛屾椂鍒濆鍖栫殑闈炲眬閮ㄥ璞°?/p>
絎?0绔?綾?/p>
[1] 鐢ㄧ被琛ㄧず姒傚康銆?br />[2] 鍙皢public鏁版嵁錛坰truct錛夌敤鍦ㄥ畠瀹為檯鏉榪囬偅浠呬粎鏃舵暟鎹紝鑰屼笖瀵逛簬榪欎簺鏁版嵁鎴愬憳騫朵笉瀛樺湪涓嶅彉寮忕殑鍦版柟銆?br />[3] 涓涓叿浣撶被鍨嬪睘浜庢渶綆鍗曠殑綾匯傚鏋滄湁鐢ㄧ殑璇濓紝灝卞簲璇ュ敖鍙兘浣跨敤鍏蜂綋綾誨瀷錛岃屼笉瑕侀噰鐢ㄦ洿澶嶆潅鐨勯樋閲岋紝涔熶笉瑕佺敤綆鍗曠殑鏁版嵁緇撴瀯銆?br />[4] 鍙皢閭d簺闇瑕佺洿鎺ヨ闂被鐨勮〃紺虹殑鍑芥暟浣滀負(fù)鎴愬憳鍑芥暟銆?br />[5] 閲囩敤鍚嶅瓧絀洪棿錛屼嬌綾諱笌鍏跺崗鍔╁嚱鏁頒箣闂寸殑鍏崇郴鏇存槑紜?br />[6] 灝嗛偅浜涗笉淇敼瀵硅薄鍊肩殑鎴愬憳鍑芥暟鍋氭垚const鎴愬憳鍑芥暟銆?br />[7] 灝嗛偅浜涢渶瑕佽闂被鐨勮〃紺猴紝浣嗘棤欏婚拡瀵圭壒瀹氬璞¤皟鐢ㄧ殑鎴愬憳鍑芥暟鍋氭垚static鎴愬憳鍑芥暟銆?br />[8] 閫氳繃鏋勯犲嚱鏁板緩绔嬭搗綾葷殑涓嶅彉寮忋?br />[9] 濡傛灉鏋勯犲嚱鏁扮敵璇鋒煇縐嶈祫婧愶紝鏋愭瀯鍑芥暟灝卞簲璇ラ噴鏀句竴璧勬簮銆?br />[10] 濡傛灉鍦ㄤ竴涓被閲屾湁鎸囬拡鎴愬憳錛屽畠?yōu)p鏈夊鍒舵搷浣滐紙鍖呮嫭澶嶅埗鏋勯犲嚱鏁板拰澶嶅埗璧嬪鹼級銆?br />[11] 濡傛灉鍦ㄤ竴涓被閲屾湁寮曠敤鎴愬憳錛屽畠?yōu)鍙兘闇瑕佹湁澶嶅埗鎿嶄綔錛堝寘鎷鍒舵瀯閫犲嚱鏁板拰澶嶅埗璧嬪鹼級銆?br />[12] 濡傛灉涓涓被闇瑕佸鍒舵搷浣滄垨鏋愭瀯鍑芥暟錛屽畠澶氬崐榪橀渶瑕佹湁鏋勯犲嚱鏁般佹瀽鏋勫嚱鏁般佸鍒惰祴鍊煎嚱鏁板拰澶嶅埗鏋勯犲嚱鏁般?br />[13] 鍦ㄥ鍒惰祴鍊煎嚱鏁伴噷闇瑕佹鏌ヨ嚜鎴戣祴鍊箋?br />[14] 鍦ㄥ啓澶嶅埗鏋勯犲嚱鏁版椂錛岃灝忓績鍦板鍒舵瘡涓渶瑕佸鍒剁殑鍏冪礌錛堝綋蹇冮粯璁ょ殑鍒濆寮忥級銆?br />[15] 鍦ㄥ悜鏌愪釜綾諱腑娣誨姞鏂版垚鍛樺嚱鏁版椂錛屼竴瀹氳浠旂粏媯(gè)鏌ワ紝鐪嬫槸鍚﹀瓨鍦ㄩ渶瑕佹洿鏂扮殑鐢ㄦ埛瀹氫箟鏋勯犲嚱鏁幫紝浠ヤ嬌瀹冭兘澶熷垵濮嬪寲鏂版垚鍛樸?br />[16] 鍦ㄧ被澹版槑涓渶瑕佸畾涔夋暣鍨嬪父閲忔椂錛岃浣跨敤鏋氫婦銆?br />[17] 鍦ㄦ瀯閫犲叏灞鐨勫拰鍚嶅瓧絀洪棿鐨勫璞℃椂錛屽簲閬垮厤欏哄簭渚濊禆鎬с?br />[18] 鐢ㄧ涓嬈″紑鍏沖幓緙撳拰欏哄簭渚濊禆鎬ч棶棰樸?br />[19] 璇瘋浣忥紝涓存椂瀵硅薄灝嗗湪寤虹珛瀹冧滑鐨勯偅涓畬鏁磋〃杈懼紡緇撴潫鏃墮攢姣併?/p>
絎?1绔?榪愮畻絎﹂噸杞?/p>
[1] 瀹氫箟榪愮畻絎︿富瑕佹槸涓轟簡妯′豢涔?fàn)鎯娇鐢ㄦ柟寮忋?br />[2] 瀵逛簬澶у瀷榪愮畻瀵硅薄錛岃浣跨敤const寮曠敤鍙傛暟綾誨瀷銆?br />[3] 瀵逛簬澶у瀷鐨勭粨鏋滐紝璇瘋(gè)冭檻浼樺寲榪斿洖鏂瑰紡銆?br />[4] 濡傛灉榛樿澶嶅埗鎿嶄綔瀵逛竴涓被鍜屽悎閫傦紝鏈濂芥槸鐩存帴鐢ㄥ畠銆?br />[5] 濡傛灉榛樿澶嶅埗鎿嶄綔瀵逛竴涓被涓嶅拰鍚堥傦紝閲嶆柊瀹氫箟瀹冿紝鎴栬呯姝㈠畠銆?br />[6] 瀵逛簬闇瑕佽闂〃紺虹殑鎿嶄綔錛屼紭鍏堣冭檻浣滀負(fù)鎴愬憳鍑芥暟鑰屼笉鏄綔涓洪潪鎴愬憳鍑芥暟銆?br />[7] 瀵逛簬涓嶈闂〃紺虹殑鎿嶄綔錛屼紭鍏堣冭檻浣滀負(fù)闈炴垚鍛樺嚱鏁拌屼笉鏄綔涓烘垚鍛樺嚱鏁般?br />[8] 鐢ㄥ悕瀛楃┖闂村皢鍗忓姪鍑芥暟涓庘滃畠浠殑鈥濈被鍏寵仈璧鋒潵銆?br />[9] 瀵逛簬瀵圭О鐨勮繍綆楃閲囩敤闈炴垚鍛樺嚱鏁般?br />[10] 鐢?)浣滀負(fù)澶氱淮鏁扮粍鐨勪笅鏍囥?br />[11] 灝嗗彧鏈変竴涓滃ぇ灝忓弬鏁扳濈殑鏋勯犲嚱鏁板仛鎴恊xplicit銆?br />[12] 瀵逛簬闈炵壒孌婄殑浣跨敤錛屾渶濂芥槸鐢ㄦ爣鍑唖tring鑰屼笉鏄綘鑷繁鐨勭粌涔?fàn)銆?br />[13] 瑕佹敞鎰忓紩榪涢殣寮忚漿鎹㈢殑闂銆?br />[14] 鐢ㄦ垚鍛樺嚱鏁拌〃杈鵑偅浜涢渶瑕佸乏鍊間綔涓哄叾宸﹁繍綆楀璞$殑榪愮畻絎︺?/p>
絎?2绔?媧劇敓綾?/p>
[1] 閬垮厤綾誨瀷鍩熴?br />[2] 鐢ㄦ寚閽堝拰寮曠敤閬垮厤鍒囧壊闂銆?br />[3] 鐢ㄦ娊璞$被灝嗚璁$殑涓績闆嗕腑鍒版彁渚涙竻鏅扮殑鐣岄潰鏂歸潰銆?br />[4] 鐢ㄦ娊璞$被鏄晫闈㈡渶灝忓寲銆?br />[5] 鐢ㄦ娊璞$被浠庣晫闈腑鎺掗櫎瀹炵幇緇嗚妭銆?br />[6] 鐢ㄨ櫄鍑芥暟鏄柊鐨勫疄鐜拌兘澶熸坊鍔犺繘鏉ワ紝鍙堜笉浼?xì)濯?jiǎng)鍝嶇敤鎴蜂唬鐮併?br />[7] 鐢ㄦ娊璞$被鍘誨敖鍙兘鍑忓皯鐢ㄦ埛浠g爜鐨勯噸鏂扮紪璇戙?br />[8] 鐢ㄦ娊璞$被鏄笉鍚岀殑瀹炵幇鑳藉鍏卞瓨銆?br />[9] 涓涓湁铏氬嚱鏁扮殑綾誨簲璇ユ湁涓涓櫄鏋愭瀯鍑芥暟銆?br />[10] 鎶借薄綾婚氬父涓嶉渶瑕佹瀯閫犲嚱鏁般?br />[11] 璁╀笉鍚屾蹇電殑琛ㄧず涔熶笉鍚屻?/p>
絎?3绔?妯℃澘
[1] 鐢ㄦā鏉挎弿榪伴渶瑕佷嬌鐢ㄥ埌璁稿鍙傛暟綾誨瀷涓婂幓鐨勭畻娉曘?br />[2] 鐢ㄦā鏉胯〃榪板鍣ㄣ?br />[3] 涓烘寚閽堢殑瀹瑰櫒鎻愪緵涓撻棬鍖栵紝浠ュ噺灝忎唬鐮佽妯°?br />[4] 鎬繪槸鍦ㄤ笓闂ㄥ寲涔嬪墠澹版槑妯℃澘鐨勪竴鑸艦寮忋?br />[5] 鍦ㄤ笓闂ㄥ寲鐨勪嬌鐢ㄤ箣鍓嶅厛澹版槑瀹冦?br />[6] 灝介噺鍑忓皯妯℃澘瀹氫箟瀵逛簬瀹炰緥鍖栫幆澧冪殑渚濊禆鎬с?br />[7] 瀹氫箟浣犳墍澹版槑鐨勬瘡涓涓笓闂ㄥ寲銆?br />[8] 鑰冭檻涓涓ā鏉挎槸鍚﹂渶瑕佹湁閽堝C椋庢牸瀛楃涓插拰鏁扮粍鐨勪笓闂ㄥ寲銆?br />[9] 鐢ㄨ〃榪扮瓥鐣ョ殑瀵硅薄榪涜鍙傛暟鍖栥?br />[10] 鐢ㄤ笓闂ㄥ寲鍜岄噸杞戒負(fù)鍚屼竴姒傚康鐨勯拡瀵逛笉鍚岀被鍨嬬殑瀹炵幇鎻愪緵緇熶竴鐣岄潰銆?br />[11] 涓虹畝鍗曟儏鍐墊彁渚涚畝鍗曠晫闈紝鐢ㄩ噸杞藉拰榛樿鍙傛暟鍘昏〃榪頒笉甯歌鐨勬儏鍐點(diǎn)?br />[12] 鍦ㄤ慨鏀逛負(fù)閫氱敤妯℃澘涔嬪墠錛屽湪鍏蜂綋瀹炰緥涓婃帓闄ょ▼搴忛敊璇?br />[13] 濡傛灉妯℃澘瀹氫箟闇瑕佸湪鍏朵粬緙栬瘧鍗曚綅閲岃闂紝璇瘋浣忓啓export銆?br />[14] 瀵瑰ぇ妯℃澘鍜屽甫鏈夐潪騫沖嚒鐜渚濊禆鎬х殑妯℃澘錛屽簲閲囩敤鍒嗗紑緙栬瘧鐨勬柟寮忋?br />[15] 鐢ㄦā鏉胯〃紺鴻漿鎹紝浣嗚闈炲父灝忓績鍦板畾涔夎繖浜涜漿鎹€?br />[16] 濡傛灉闇瑕侊紝鐢╟onstraint()鎴愬憳鍑芥暟緇欐ā鏉跨殑瀹炲弬澧炲姞闄愬埗銆?br />[17] 閫氳繃鏄懼紡瀹炰緥鍖栧噺灝戠紪璇戝拰榪炴帴鏃墮棿銆?br />[18] 濡傛灉榪愯鏃剁殑鏁堢巼闈炲父閲嶈錛岄偅涔堟渶濂界敤妯℃澘鑰屼笉鏄淳鐢熺被銆?br />[19] 濡傛灉澧炲姞鍚勭鍙樺艦鑰屽張涓嶉噸鏂扮紪璇戞槸寰堥噸瑕佺殑錛屾渶濂界敤媧劇敓綾昏屼笉鏄ā鏉褲?br />[20] 濡傛灉鏃犳硶瀹氫箟鍏叡鐨勫熀綾伙紝鏈濂界敤妯℃澘鑰屼笉鏄淳鐢熺被銆?br />[21] 褰撴湁鍏煎鎬х害鏉熺殑鍐呴儴綾誨瀷鍜岀粨鏋勯潪甯擱噸瑕佹椂錛屾渶濂界敤妯℃澘鑰屼笉鏄淳鐢熺被銆?/p>
絎?4绔?寮傚父澶勭悊
[1] 鐢ㄥ紓甯稿仛閿欒澶勭悊銆?br />[2] 褰撴洿灞閮ㄧ殑鎺у埗鏈烘瀯瓚充互搴斾粯鏃訛紝涓嶈浣跨敤寮傚父銆?br />[3] 閲囩敤鈥滆祫婧愮敵璇峰嵆鍒濆鍖栤濇妧鏈幓綆$悊璧勬簮銆?br />[4] 騫朵笉鏄編鍥界▼搴忛兘瑕佹眰鍏鋒湁寮傚父鏃剁殑瀹夊叏鎬с?br />[5] 鎵嶇敤鈥滆祫婧愮敵璇峰嵆鍒濆鍖栤濇妧鏈拰寮傚父澶勭悊鍣ㄥ幓緇存寔涓嶅彉寮忋?br />[6] 灝介噺灝戠敤try鍧楋紝鐢ㄢ滆祫婧愮敵璇峰嵆鍒濆鍖栤濇妧鏈紝鑰屼笉鏄樉寮忕殑澶勭悊鍣ㄤ唬鐮併?br />[7] 騫朵笉鏄編鍥藉嚱鏁伴兘闇瑕佸鐞嗘瘡涓彲鑳界殑閿欒銆?br />[8] 鍦ㄦ瀯閫犲嚱鏁伴噷閫氳繃鎶涘嚭寮傚父鎸囨槑鍑虹幇澶辮觸銆?br />[9] 鍦ㄤ粠璧嬪間腑鎶涘嚭寮傚父涔嬪墠錛屽紡鎿嶄綔瀵硅薄澶勪簬鍚堟硶鐘舵併?br />[10] 閬垮厤浠庢瀽鏋勫嚱鏁伴噷鎶涘嚭寮傚父銆?br />[11] 璁﹎ain()鎹曟崏騫舵姤鍛婃墍鏈夌殑寮傚父銆?br />[12] 浣挎甯稿鐞嗕唬鐮佸拰閿欒澶勭悊浠g爜鐩鎬簰鍒嗙銆?br />[13] 鍦ㄦ瀯閫犲嚱鏁伴噷鎶涘嚭寮傚父涔嬪墠錛屽簲淇濊瘉閲婃斁鍦ㄦ鏋勯犲嚱鏁伴噷鐢寵鐨勬墍鏈夎祫婧愩?br />[14] 浣胯祫婧愮鐞嗗叿鏈夊眰嬈℃с?br />[15] 瀵逛簬涓昏鐣岄潰浣跨敤寮傚父鎻忚堪銆?br />[16] 褰撳績閫氳繃new鍒嗛厤鐨勫唴瀛樺湪鍙戠敓寮傚父鏃舵病鏈夐噴鏀撅紝騫剁敱姝よ屽鑷村瓨鍌ㄧ殑嫻佸け銆?br />[17] 濡傛灉涓鍑芥暟鍙兘鎶涘嚭鏌愪釜寮傚父錛屽氨搴旇鍋囧畾瀹冧竴瀹氫細(xì)鎶涘嚭榪欎釜寮傚父銆?br />[18] 涓嶈鍋囧畾鎵鏈夊紓甯擱兘鏃剁敱excepion綾繪淳鐢熷嚭鏉ョ殑銆?br />[19] 搴撲笉搴旇鍗曟柟闈㈢粓姝㈢▼搴忋傜浉鍙嶏紝搴旇鎶涘嚭寮傚父錛岃璋冪敤鑰呭幓鍋氬喅瀹氥?br />[20] 搴撲笉搴旇鐢熸垚闈㈠悜鏈緇堢敤鎴風(fēng)殑閿欒淇℃伅銆傜浉鍙嶏紝瀹冨簲璇ユ姏鍑哄紓甯革紝璁╄皟鐢ㄨ呭幓鍋氬喅瀹氥?br />[21] 鍦ㄨ璁$殑鍓嶆湡寮鍙戝嚭涓縐嶉敊璇鐞嗙瓥鐣ャ?/p>
絎?5绔?綾誨眰嬈$粨鏋?/p>
[1] 鍒╃敤甯歌鐨勫閲嶇戶鎵胯〃榪扮壒寰佺殑鍚堝茍銆?br />[2] 鍒╃敤澶氶噸緇ф壙瀹屾垚瀹炵幇緇嗚妭涓庣晫闈㈠垎紱匯?br />[3] 鐢╲irtual鍩虹被琛ㄨ揪鍦ㄧ被灞傛緇撴瀯閲屽鏌愪簺綾伙紙涓嶆槸鍏ㄩ儴綾伙級鍏卞悓鐨勪笢瑗褲?br />[4] 閬垮厤鏄懼紡鐨勭被鍨嬭漿鎹紙寮哄埗錛夈?br />[5] 鍦ㄤ笉鍙伩鍏嶅湴闇瑕佹極娓哥被灞傛緇撴瀯鐨勫湴鏂癸紝浣跨敤dynamic_cast銆?br />[6] 灝介噺浣跨敤dynamic_cast鑰屼笉鏄痶ypeid銆?br />[7] 灝介噺浣跨敤private鑰屼笉鏄痯rotected銆?br />[8] 涓嶈澹版槑protected鏁版嵁鎴愬憳銆?br />[9] 濡傛灉鏌愪釜綾誨畾涔変簡operator delete()錛屽畠涔熷簲璇ユ湁铏氭瀽鏋勫嚱鏁般?br />[10] 鍦ㄦ瀯閫犲拰鏋愭瀯鏈熼棿涓嶈璋冪敤铏氬嚱鏁般?br />[11] 灝介噺灝戠敤涓鴻В鏋愭垚鍛樺悕鑰屽啓鐨勬樉寮忛檺瀹氳瘝錛屾渶濂芥椂鍦ㄨ鐩栧嚱鏁伴噷鐢ㄥ畠銆?/p>
絎?6绔?搴撶粍緇囧拰瀹瑰櫒
[1] 鍒╃敤鏍囧噯搴撳姛鑳斤紝浠ョ淮鎸佸彲縐繪鎬с?br />[2] 鍐充笉瑕佸彟琛屽畾涔夋爣鍑嗗簱鐨勫姛鑳姐?br />[3] 鍐充笉瑕佽涓烘爣鍑嗗簱姣斾粈涔堥兘濂姐?br />[4] 鍦ㄥ畾涔変竴縐嶆柊鍔熻兘鏃訛紝搴旇冭檻瀹冩槸鍚﹁兘綰沖叆鏍囧噯搴撴墍鎻愪緵鐨勬鏋朵腑銆?br />[5] 璁頒綇鏍囧噯搴撳姛鑳介兘瀹氫箟鍦ㄥ悕瀛楃┖闂磗td閲屻?br />[6] 閫氳繃鍖呭惈淇濆噯鍗″ご鏂囦歡澹版槑鍏跺姛鑳斤紝涓嶈鑷繁鍙﹁鏄懼紡澹版槑銆?br />[7] 鍒╃敤鍚庣畫鎶借薄鐨勪紭鐐廣?br />[8] 閬垮厤鑲ュぇ鐨勭晫闈€?br />[9] 涓庤嚜宸卞啓鎸夌収鍙嶅悜欏哄簭鐨勬樉寮忓驚鐜浉姣旓紝鏈濂芥槸鍐欏埄鐢ㄥ弽鍚戣凱浠e櫒鐨勭畻娉曘?br />[10] 鐢╞ase()浠巖everse_iterator鎶藉彇鍑篿terator銆?br />[11] 閫氳繃寮曠敤浼犻掑鍣ㄣ?br />[12] 鐢ㄨ凱浠e櫒綾誨瀷錛屽list<char>::iterator錛岃屼笉瑕侀噰鐢ㄧ儲寮曞鍣ㄥ厓绱犵殑鎸囬拡銆?br />[13] 鍦ㄤ笉闇瑕佷慨鏀瑰鍣ㄥ厓绱犳椂錛屼嬌鐢╟onst榪唬鍣ㄣ?br />[14] 濡傛灉甯屾湜媯(gè)鏌ヨ闂寖鍥達(dá)紝璇鳳紙鐩存帴鎴栭棿鎺ワ級浣跨敤at()銆?br />[15] 澶氱敤瀹瑰櫒鍜宲ush_back()鎴杛esize()錛屽皯鐢ㄦ暟緇勫拰realloc().
[16] vector鏀瑰彉澶у皬涔嬪悗錛屼笉瑕佷嬌鐢ㄦ寚鍚戝叾涓殑榪唬鍣ㄣ?br />[17] 鍒╃敤reserve()閬垮厤浣胯凱浠e櫒闈炴硶銆?br />[18] 鍦ㄩ渶瑕佺殑鏃跺欙紝reserve()鍙互浣挎墽琛屾儏鍐墊洿瀹規(guī)槗棰勬湡銆?/p>
絎?7绔?鏍囧噯搴撳鍣?/p>
[1] 濡傛灉瑕佺敤瀹瑰櫒錛岄鍏堣冭檻鐢╲ector銆?br />[2] 浜嗚В浣犵粡甯鎬嬌鐢ㄧ殑姣忎釜鎿嶄綔鐨勪唬浠鳳紙澶嶆潅鎬э紝澶搴﹂噺錛夈?br />[3] 瀹瑰櫒鐨勭晫闈€佸疄鐜板拰琛ㄧず浣夸笉鍚岀殑姒傚康錛屼笉瑕佹販娣嗐?br />[4] 浣犲彲浠ヤ緷鎹縐嶄笉鍚屽噯鍒欏幓鎺掑簭鍜屾悳绱€?br />[5] 涓嶈鐢–椋庢牸鐨勫瓧絎︿覆浣滀負(fù)鍏抽敭鐮侊紝闄ら潪浣犳彁渚涗簡涓縐嶉傚綋鐨勬瘮杈冨噯鍒欍?br />[6] 浣犲彲浠ュ畾涔夎繖鏍風(fēng)殑姣旇緝鍑嗗垯錛屼嬌絳変環(huán)鐨勪絾鏄笉鐩稿悓鐨勫叧閿爜鍊兼槧灝勫埌鍚屼竴涓叧閿爜銆?br />[7] 鍦ㄦ彃鍏ュ拰鍒犻櫎鍏冪礌鏃訛紝鏈濂芥椂浣跨敤搴忓垪鏈鐨勬搷浣滐紙back鎿嶄綔錛夈?br />[8] 褰撲綘闇瑕佸湪瀹瑰櫒鐨勫墠绔垨涓棿鍋氳澶氭彃鍏ュ拰鍒犻櫎鏃訛紝璇風(fēng)敤list銆?br />[9] 褰撲綘涓昏閫氳繃鍏抽敭鐮佽闂厓绱犳椂錛岃鐢╩ap鎴杕ultimap銆?br />[10] 灝介噺鐢ㄦ渶灝忕殑鎿嶄綔闆嗗悎錛屼互鍙栧緱鏈澶х殑鐏墊椿鎬с?br />[11] 濡傛灉瑕佷繚鎸佸厓绱犵殑欏哄簭鎬э紝閫夌敤map鑰屼笉鏄痟ash_map銆?br />[12] 濡傛灉鏌ユ壘閫熷害鏋佸叾閲嶈錛岄塰ash_map鑰屼笉鏄痬ap銆?br />[13] 濡傛灉鏃犳硶瀵瑰厓绱犲畾涔夊皬浜庢搷浣滄椂錛岄塰ash_map鑰屼笉鏄痬ap銆?br />[14] 褰撲綘闇瑕佹鏌ユ煇涓叧閿爜鏄惁鍦ㄥ叧鑱斿鍣ㄩ噷鐨勬椂鍊欙紝鐢╢ind()銆?br />[15] 鐢╡qual_range()鍦ㄥ叧鑱斿鍣ㄩ噷鎵懼嚭鎵鏈夊叿鏈夌粰瀹氬叧閿爜鐨勬墍鏈夊厓绱犮?br />[16] 褰撳叿鏈夊悓鏍峰叧閿爜鐨勫涓奸渶瑕佷繚鎸侀『搴忔椂錛岀敤multimap銆?br />[17] 褰撳叧閿爜鏈韓灝辨槸浣犻渶瑕佷繚瀛樼殑鍊兼椂錛岀敤set鎴杕ultiset銆?/p>
絎?8绔?綆楁硶鍜屽嚱鏁板璞?/p>
[1] 澶氱敤綆楁硶錛屽皯鐢ㄥ驚鐜?br />[2] 鍦ㄥ啓寰幆鏃訛紝鑰冭檻鏄惁鑳藉皢瀹冭〃榪頒負(fù)涓涓氱敤鐨勭畻娉曘?br />[3] 甯歌鎬у湴閲嶆俯綆楁硶闆嗗悎錛岀湅鍗℃槸涓嶆槸鑳藉皢鏂板簲鐢ㄥ彉寰楁洿鏄庢櫚銆?br />[4] 淇濊瘉涓瀵硅凱浠e櫒鍙傛暟紜疄琛ㄨ堪浜嗕竴涓簭鍒椼?br />[5] 璁捐鏃跺簲璇ヨ浣跨敤鏈棰戠箒鐨勬搷浣滄椂綆鍗曡屽畨鍏ㄧ殑銆?br />[6] 鍚ф祴璇曡〃榪版垚鑳藉浣滀負(fù)璋撹瘝浣跨敤鐨勫艦寮忋?br />[7] 鍒囪璋撹瘝鏄嚱鏁板拰瀵硅薄錛屼笉鏄被鍨嬨?br />[8] 浣犲彲浠ョ敤綰︽潫鍣ㄤ粠浜屽厓璋撹瘝鍋氬嚭涓鍏冭皳璇嶃?br />[9] 鍒╃敤mem_fun()鍜宮em_fun_ref()灝嗙畻娉曞簲鐢ㄤ簬瀹瑰櫒銆?br />[10] 褰撲綘闇瑕佸皢涓涓弬鏁扮害鏉熷埌涓涓嚱鏁頒笂鏃訛紝鐢╬tr_fun()銆?br />[11] 鍒囪srrcmp()鐢?琛ㄧず鈥滅浉絳夆濓紝涓?=涓嶅悓銆?br />[12] 浠呭湪娌℃湁鏇寸壒孌婄殑綆楁硶鏃訛紝鎵嶄嬌鐢╢or_each()鍜宼ranform()銆?br />[13] 鍒╃敤璋撹瘝錛屼互渚胯兘涓鍚勭姣旇緝鍑嗗垯鍜岀浉絳夊噯鍒欎嬌鐢ㄧ畻娉曘?br />[14] 鍒╃敤璋撹瘝鍜屽叾浠栧嚱鏁板璞★紝浠ヤ嬌鏍囧噯綆楁硶鑳界敤浜庤〃紺鴻寖鍥村箍娉涚殑鎰忎箟銆?br />[15] 榪愮畻絎?lt;鍜?=鍦ㄦ寚閽堜笂鐨勯粯璁ゆ剰涔夊緢灝戦傜敤浜庢爣鍑嗙畻娉曘?br />[16] 綆楁硶騫朵笉鐩存帴涓哄畠浠殑鍙傛暟搴忓垪澧炲姞鎴栧噺灝戝厓绱犮?br />[17] 搴斾繚璇佺敤浜庡悓涓涓簭鍒楃殑灝忎簬鍜岀浉絳夎皳璇嶇浉浜掑尮閰嶃?br />[18] 鏈夋椂鎺掑ソ搴忕殑搴忓垪鐢ㄨ搗鏉ユ洿鏈夋晥涓斾紭闆呫?br />[19] 浠呬負(fù)鍏煎鎬ц屼嬌鐢╭sort()鍜宐search()銆?/p>
絎?9绔?榪唬鍣ㄥ拰鍒嗛厤鍣?/p>
[1] 鍦ㄥ啓涓涓畻娉曟椂錛岃娉曠‘瀹氶渶瑕佺敤鍝榪唬鍣ㄦ墠鑳芥彁渚涘彲鎺ュ彈鐨勬晥鐜囷紝騫訛紙鍙級浣跨敤榪欑榪唬鍣ㄦ墍鏀寔鐨勬搷浣滅鍘昏〃榪扮畻娉曘?br />[2] 褰撶粰瀹氱殑榪唬鍣ㄥ弬鏁版彁渚涗簡澶氫簬綆楁硶鎵闇 鐨勬渶灝忔敮鎸佹椂錛岃閫氳繃閲嶈澆涓鴻綆楁硶鎻愪緵鏁堢巼鏇撮珮鐨勫疄鐜般?br />[3] 鍒╃敤istream_traits涓轟笉鍚岃凱浠e櫒綾誨埆鎻忚堪閫傚綋鐨勭畻娉曘?br />[4] 璁頒綇鍦╥stream_iterator鍜宱stream_iterator鐨勮闂箣鍓嶄嬌鐢?+銆?br />[5] 鐢ㄦ彃鍏ュ櫒閬垮厤瀹瑰櫒婧㈠嚭銆?br />[6] 鍦ㄦ帓閿欐椂浣跨敤棰濆鐨勬鏌ワ紝鍚庨潰鍙湪蹇呴』鏃舵墠鍒犻櫎榪欎簺媯(gè)鏌ャ?br />[7] 澶氱敤++p錛屽皯鐢╬++銆?br />[8] 浣跨敤鏈垵濮嬪寲鐨勫瓨鍌ㄥ幓鏀瑰杽閭d簺鎵╁睍鏁版嵁緇撴瀯鐨勭畻娉曟ц兘銆?br />[9] 浣跨敤涓存椂緙撳啿鍖哄幓鏀瑰杽闇瑕佷復(fù)鏃舵暟鎹粨鏋勭殑綆楁硶鐨勬ц兘銆?br />[10] 鍦ㄥ啓鑷繁鐨勫垎閰嶅櫒涔嬪墠涓夋濄?br />[11] 閬垮厤malloc()銆乫ree()銆乺ealloc()絳夈?br />[12] 浣犲彲浠ラ氳繃涓簉ebind鎵鐢ㄧ殑鎶鏈幓妯℃嫙瀵規(guī)ā鏉跨殑typedef銆?/p>
絎?0绔?涓?/p>
[1] 灝介噺浣跨敤string鎿嶄綔錛屽皯鐢–椋庢牸瀛楃涓插嚱鏁般?br />[2] 鐢╯tring浣滀負(fù)鍙橀噺鎴栬呮垚鍛橈紝涓嶄綔涓哄熀綾匯?br />[3] 浣犲彲浠ュ皢string浣滀負(fù)鍙傛暟鍊兼垨鑰呰繑鍥炲鹼紝璁╃郴緇熷幓鍏沖績瀛樺偍綆$悊闂銆?br />[4] 褰撲綘甯屾湜鍋氳寖鍥存鏌ユ椂錛岃鐢╝t()鑰屼笉鏄凱浠e櫒鎴栬匸]銆?br />[5] 褰撲綘甯屾湜浼樺寲閫熷害鏃訛紝璇風(fēng)敤榪唬鍣ㄦ垨[]鑰屼笉鏄痑t()銆?br />[6] 鐩存帴鎴栬呴棿鎺ュ湴浣跨敤substr()鍘昏瀛楀瓙涓詫紝鐢╮eplace()鍘誨啓瀛愪覆銆?br />[7] 鐢╢ind()鎿嶄綔鍦╯tring閲岀‘瀹氬肩殑浣嶇疆錛堣屼笉鏄啓涓涓樉寮忕殑寰幆錛夈?br />[8] 鍦ㄤ綘闇瑕侀珮鏁堢巼鍦版坊鍔犲瓧絎︽椂錛岃鍦╯tring鐨勫悗闈㈤檮鍔犮?br />[9] 鍦ㄦ病鏈夋瀬绔椂闂磋姹傛儏鍐典笅鐢╯tring浣滀負(fù)瀛楃杈撳叆鐨勭洰鏍囥?br />[10] 鐢╯tring::npos琛ㄧず鈥渟ring鐨勫墿浣欓儴鍒嗏濄?br />[11] 濡傛灉蹇呰錛屽氨閲囩敤浣庣駭鎿嶄綔鍘誨疄鐜版瀬搴﹂綣佷嬌鐢ㄧ殑strng錛堣屼笉鏄埌澶勭敤浣庣駭鏁版嵁緇撴瀯錛夈?br />[12] 濡傛灉浣犱嬌鐢╯tring錛岃鍦ㄦ煇浜涘湴鏂規(guī)崟鎹塴ength_error鍜宱ut_of_rang寮傚父銆?br />[13] 灝忓績錛屼笉瑕佸皢甯﹀?鐨刢har*浼犻掔粰瀛楃涓插嚱鏁般?br />[14] 鍙槸鍒板繀欏誨仛鐨勬椂鍊欙紝錛堝啀錛夌敤c_str()浜х敓string鐨凜椋庢牸琛ㄧず銆?br />[15] 褰撲綘闇瑕佺煡閬撳瓧絎︿覆鐨勭被鍒椂錛岀敤isalpha()銆乮sdigit()絳夊嚱鏁幫紝涓嶈鑷繁鍘誨啓瀵瑰瓧絎﹀肩殑媯(gè)嫻嬨?/p>
絎?1绔?嫻?/p>
[1] 鍦ㄤ負(fù)鐢ㄦ埛瀹氫箟綾誨瀷鐨勫煎畾涔?lt;<鍜?gt;>鏃訛紝搴旇閲囩敤鎰忎箟娓呮櫚鐨勬鏂囪〃杈懼艦寮忋?br />[2] 鍦ㄦ墦鍗板寘鍚綆浼樺厛綰ц繍綆楃鐨勮〃杈懼紡鏃墮渶瑕佺敤鎷彿銆?br />[3] 鍦ㄦ坊鍔犳柊鐨?lt;<鍜?gt;>榪愮畻絎︽椂錛屼綘涓嶅繀淇敼istream鎴杘stream銆?br />[4] 浣犲彲浠ュ畾涔夊嚱鏁幫紝鏃跺叾鑳藉熀浜庣浜屼釜錛堟垨鏇村悗闈㈢殑錛夊弬鏁幫紝鍏鋒湁鍍弙irtual鍑芥暟閭f牱鐨勮涓恒?br />[5] 鍒囪錛屾寜榛樿綰﹀畾>>璺寵繃鎵鏈夌┖鏍箋?br />[6] 浣跨敤浣庣駭杈撳叆鍑芥暟錛堝get()鍜宺ead()錛変富瑕佹槸涓轟簡瀹炵幇楂樼駭杈撳叆鍑芥暟銆?br />[7] 鍦ㄤ嬌鐢╣et()銆乬etline()鍜宺ead()鏃剁暀蹇冨叾緇堟鍑嗗垯銆?br />[8] 鍦ㄦ帶鍒禝/O鏃訛紝灝介噺閲囩敤鎿嶆帶絎︼紝灝戠敤鐘舵佹爣蹇椼?br />[9] 錛堝彧錛夌敤寮傚父鍘繪崟鎹夌綍瑙佺殑I/O閿欒銆?br />[10] 鑱旂粨鐢ㄤ簬浜や簰寮廔/O鐨勬祦銆?br />[11] 浣跨敤鍝ㄤ綅灝嗚澶氬嚱鏁扮殑鍏ュ彛鍜屽嚭鍙d唬鐮侀泦涓埌涓涓湴鏂廣?br />[12] 鍦ㄦ棤鍙傛暟鎿嶆帶絎︽渶鍚庝笉瑕佸啓鎷彿銆?br />[13] 浣跨敤鏍囧噯鎿嶆帶絎﹀紡搴旇浣忓啓#include <iomanip>銆?br />[14] 浣犲彲浠ラ氳繃瀹氫箟涓涓畝鍗曞嚱鏁板璞″緱鍒頒笁鍏冭繍綆楃鐨勬晥鏋滐紙鍜屾晥鐜囷級銆?br />[15] 鍒囪錛寃idth鎻忚堪鍙簲鐢ㄤ簬闅忓悗鐨勪竴涓狪/O鎿嶄綔銆?br />[16] 鍒囪precision鎻忚堪鍙鎵鍚庢墍鐨勬誕鐐規(guī)暟杈撳嚭鎿嶄綔鏈夋晥銆?br />[17] 鐢ㄥ瓧絎︿覆嫻佸仛鍐呭瓨閲岀殑鏍煎紡鍖栥?br />[18] 浣犲彲浠ユ弿榪頒竴涓枃浠舵祦鐨勬ā寮忋?br />[19] 鍦ㄦ墿鍏匢/O緋葷粺鏃訛紝搴旇娓呮鍦板尯鍒嗘牸寮忓寲錛坕ostream錛夊拰緙撳啿錛坰treambuf錛夈?br />[20] 灝嗕紶杈撳肩殑闈炴爣鍑嗘柟寮忓疄鐜頒負(fù)嫻佺紦鍐層?br />[21] 灝嗘牸寮忓寲鍊肩殑闈炴爣鍑嗘柟寮忓疄鐜頒負(fù)嫻佹搷浣溿?br />[22] 浣犲彲浠ュ埄鐢ㄤ竴瀵瑰嚱鏁伴殧紱誨拰灝佽鍏跺鐢ㄦ埛瀹氫箟浠g爜鐨勮皟鐢ㄣ?br />[23] 浣犲彲浠ュ湪璇誨叆涔嬪墠鐢╥n_avail()鍘葷‘瀹氳緭鍏ユ搷浣滄槸鍚︿細(xì)琚樆濉炪?br />[24] 鍒掑垎娓呮闇瑕侀珮鏁堢殑綆鍗曟搷浣滃拰瀹炵幇鏌愮絳栫暐鐨勬搷浣滐紙灝嗗墠鑰呭仛鎴恑nline錛屽皢鍚庤呭仛鎴恦irtual錛夈?br />[25] 鐢╨ocale灝嗏滄枃鍖栧樊寮傗濆眬閮ㄥ寲銆?br />[26] 鐢╯ync_with_stdio(x)鍘繪販鍚圕椋庢牸鍜孋++椋庢牸鐨処/O錛屾垨鑰呯瑙椋庢牸鍜孋++椋庢牸鐨処/O銆?br />[27] 褰撳績C椋庢牸I/O鐨勭被鍨嬮敊璇?/p>
絎?2绔?鏁板?/p>
[1] 鏁板奸棶棰樺父甯稿拰寰銆傚鏋滀綘瀵規(guī)暟鍊奸棶棰樼殑鏁板鏂歸潰涓嶆槸100%鏈夋妸鎻★紝璇峰幓鎵句笓瀹舵垨鑰呭仛璇曢獙銆?br />[2] 鐢╪umberic_limits鍘葷‘瀹氬唴閮ㄧ被鍨嬬殑鎬ц川銆?br />[3] 涓虹敤鎴峰畾涔夌殑鏍囬噺綾誨瀷鎻忚堪numberic_limits銆?br />[4] 濡傛灉榪愯鏃舵晥鐜囨瘮瀵逛簬鎿嶄綔鍜屽厓绱犵殑鐏墊椿鎬ф洿閲嶈鐨勮瘽錛岄偅涔堣鐢╲alarray鍘誨仛鏁板艱綆椼?br />[5] 鐢ㄥ垏鍓茶〃榪板湪鏁扮粍鐨勪竴閮ㄥ垎涓婄殑鎿嶄綔錛岃屼笉鏄敤寰幆銆?br />[6] 鍒╃敤緇勫悎鍣紝閫氳繃娓呴櫎涓存椂閲忓拰鏇村ソ鐨勭畻娉曟潵鑾峰緱鏁堢巼銆?br />[7] 鐢╯td::complex鍋氬鏁扮畻鏈?br />[8] 浣犲彲浠ユ妸浣跨敤complex綾葷殑鑰佷唬鐮侀氳繃涓涓猼ypedef杞負(fù)鐢╯tr::complex妯℃澘銆?br />[9] 鍦ㄥ啓寰幆浠庝竴涓〃鍑哄彂璁$畻鏌愪釜鍊間箣鍓嶏紝鍏堣冭檻涓涓媋ccumulate()銆乮nner_produce()銆乸artial_sum()鍜宎djacent_difference()銆?br />[10] 鏈濂戒嬌鐢ㄥ叿鏈夌壒瀹氬垎甯冪殑闅忔満鏁幫紝灝戠洿鎺ョ敤rand()銆?br />[11] 娉ㄦ剰鏄綘鐨勯殢鏈烘暟鍏呭垎闅忔満銆?/p>
絎?3绔?寮鍙戝拰璁捐
[1] 鐭ラ亾浣犺瘯鍥捐揪鍒頒粈涔堢洰鐨勩?br />[2] 蹇冧腑鐗㈣杞歡寮鍙戞槸涓欏逛漢鐨勬椿鍔ㄣ?br />[3] 鐢ㄧ被姣旀潵璇佹槑鏄湁鎰忕殑嬈洪獥銆?br />[4] 淇濇寔涓涓壒瀹氱殑瀹炲疄鍦ㄥ湪鐨勭洰鏍囥?br />[5] 涓嶈璇曞浘鐢ㄦ妧鏈柟寮忓幓瑙e喅紺句細(xì)闂銆?br />[6] 鍦ㄨ璁″拰瀵瑰緟浜哄憳鏂歸潰閮藉簲璇ユ湁闀挎湡鑰冭檻銆?br />[7] 瀵逛簬浠涔堢▼搴忓湪緙栫爜涔嬪墠鍏堣璁捐鏄湁鎰忎箟鐨勶紝鍦ㄧ▼搴忚妯′笂騫舵病鏈変笅闄愩?br />[8] 璁捐榪囩▼搴旈紦鍔卞弽棣堛?br />[9] 涓嶈灝嗗仛浜嬫儏閮藉綋鍋氬彇寰椾簡榪涘睍銆?br />[10] 涓嶈鎺ㄥ箍鍒拌秴鍑轟簡鎵闇瑕佺殑銆佷綘宸叉湁鐩存帴緇忛獙鐨勫拰宸茬粡嫻嬭瘯榪囩殑涓滆タ銆?br />[11] 灝嗘蹇佃〃榪頒負(fù)綾匯?br />[12] 緋葷粺閲屼篃瀛樺湪涓浜涗笉搴旇鐢ㄧ被琛ㄨ堪鐨勬ц川銆?br />[13] 灝嗘蹇甸棿鐨勫眰嬈″叧緋葷敤綾誨眰嬈$粨鏋勮〃紺恒?br />[14] 涓誨姩鍒板簲鐢ㄥ拰瀹炵幇涓幓瀵繪壘姒傚康闂寸殑鍏辨э紝灝嗙敱姝ゅ緱鍒扮殑涓鑸ф蹇佃〃紺轟負(fù)鍩虹被銆?br />[15] 鍦ㄥ叾浠栭鍩熶腑鐨勫垎綾繪柟寮忔湭蹇呴傚悎浣滀負(fù)搴旂敤涓殑緇ф壙妯″瀷鐨勫垎綾繪柟寮忋?br />[16] 鍩轟簬琛屼負(fù)鍜屼笉鍙樺紡璁捐綾誨眰嬈$粨鏋勩?br />[17] 鑰冭檻鐢ㄤ緥銆?br />[18] 鑰冭檻鐢–RC鍗°?br />[19] 鐢ㄧ幇瀛樼郴緇熶綔涓烘ā鍨嬨佺伒鎰熺殑婧愭硥鍜屽嚭鍙戠偣銆?br />[20] 鎰忚瘑鍒拌瑙夊浘褰㈠伐紼嬬殑閲嶈鎬с?br />[21] 鍦ㄥ師鍨嬫垚涓鴻礋鎷呮椂灝辨姏寮冨畠銆?br />[22] 涓哄彉鍖栬岃璁★紝灝嗘敞鎰忓姏闆嗕腑鍒扮伒媧繪с佸彲鎵╁睍鎬с佸彲縐繪鎬у拰閲嶇敤銆?br />[23] 灝嗘敞鎰忓姏闆嗕腑鍒扮粍浠惰璁°?br />[24] 璁╂瘡涓晫闈唬琛ㄥ湪涓涓娊璞″眰嬈′腑鐨勪竴涓蹇點(diǎn)?br />[25] 闈㈠悜鍙樺寲榪涜璁捐錛屼互姹傚緱紼沖畾鎬с?br />[26] 閫氳繃灝嗗箍娉涢綣佷嬌鐢ㄧ殑鐣岄潰鍋氬緱鏈灝忋佹渶涓鑸拰鎶借薄鏉ヤ嬌璁捐紼沖畾銆?br />[27] 淇濇寔灝藉彲鑳藉皬錛屼笉涓衡滅壒孌婇渶瑕佲濆鍔犳柊鐗瑰緛銆?br />[28] 鎬昏冭檻綾葷殑鍏朵粬琛ㄧず鏂瑰紡銆傚鏋滀笉鍙兘鏈夊叾浠栨柟寮忥紝榪欎釜綾誨彲鑳藉氨娌℃湁浠h〃鏌愪釜娓呮櫚鐨勬蹇點(diǎn)?br />[29] 鍙嶅璇勫銆佺簿鍖栬璁″拰瀹炵幇銆?br />[30] 閲囩敤閭d簺鑳界敤浜庤皟璇曪紝鐢ㄤ簬鍒嗘瀽闂銆佽璁″拰瀹炵幇鐨勬渶濂藉伐鍏楓?br />[31] 灝芥棭銆佸敖鍙兘棰戠箒鍦拌繘琛岃瘯楠屻佸垎鏋愬拰嫻嬭瘯銆?br />[32] 涓嶈蹇樿鏁堢巼銆?br />[33] 淇濇寔鏌愮閫傚悎欏圭洰瑙勬ā鐨勮鑼冩ф按騫熾?br />[34] 淇濊瘉鏈変漢璐熻矗欏圭洰鐨勬暣浣撹璁°?br />[35] 涓哄彲閲嶇敤緇勪歡鍋氭枃妗c佹帹浠嬪拰鎻愪緵鏀寔銆?br />[36] 灝嗙洰鏍囦笌緇嗚妭涓璧峰啓榪涙枃妗i噷銆?br />[37] 灝嗕負(fù)鏂板紑鍙戣呮彁渚涚殑鏁欒鏉愭枡浣滀負(fù)鏂囨。鐨勪竴閮ㄥ垎銆?br />[38] 榧撳姳璁捐銆佸簱鍜岀被鐨勯噸鐢紝騫剁粰浜堝洖鎶ャ?/p>
絎?4绔?璁捐鍜岀紪紼?/p>
[1] 搴旇鍚戞暟鎹娊璞″拰闈㈠悜瀵硅薄璁捐鐨勬柟鍚戝彂灞曘?br />[2] 錛堜粎浠咃級鏍規(guī)嵁闇瑕佸幓浣跨敤C++鐨勭壒寰佸拰鎶鏈?br />[3] 璁捐搴斾笌緙栫▼椋庢牸鐩鎬簰鍖歸厤銆?br />[4] 灝嗙被/姒傚康浣滀負(fù)璁捐涓渶鍩烘湰鐨勫叧娉ㄧ偣錛岃屼笉鏄姛鑳?澶勭悊銆?br />[5] 鐢ㄧ被琛ㄧず姒傚康銆?br />[6] 鐢ㄧ戶鎵匡紙浠呬粎錛夎〃紺烘蹇甸棿鐨勫眰嬈$粨鏋勫叧緋匯?br />[7] 鍒╃敤搴旂敤灞傞潤鎬佺被鍨嬬殑鏂瑰紡緇欏嚭鏈夊叧鐣岄潰鐨勬洿寮虹殑淇濊瘉銆?br />[8] 浣跨敤紼嬪簭鐢熸垚鍣ㄥ拰鐩存帴鐣岄潰鎿嶄綔宸ュ叿鍘誨畬鎴愬畾涔夎壇濂界殑宸ヤ綔銆?br />[9] 涓嶈鍘諱嬌鐢ㄩ偅浜涗笌浠諱綍閫氱敤紼嬪簭璁捐璇█涔嬮棿閮芥病鏈夋竻鏅扮晫闈㈢殑紼嬪簭鐢熸垚鍣ㄦ垨鑰呯洿鎺ョ晫闈㈡搷浣滃伐鍏楓?br />[10] 淇濆瓨涓嶅悓灞傛鐨勬娊璞$浉浜掑垎紱匯?br />[11] 鍏蟲敞緇勪歡璁捐銆?br />[12] 淇濊瘉铏氬嚱鏁版湁瀹氫箟鑹ソ鐨勬剰涔夛紝姣忎釜瑕嗙洊鍑芥暟閮藉疄鐜伴鏈熻涓恒?br />[13] 鍏敤鐣岄潰琛ㄧず鐨勬槸鈥滄槸涓涓濆叧緋匯?br />[14] 鎴愬憳琛ㄧず鐨勬槸鈥滄湁涓涓濆叧緋匯?br />[15] 鍦ㄨ〃紺虹畝鍗曞寘瀹規(guī)椂鏈濂界敤鐩存帴鎴愬憳錛屼笉鐢ㄦ寚鍚戝崟鐙垎閰嶇殑瀵硅薄鐨勬寚閽堛?br />[16] 璁炬硶淇濊瘉浣跨敤渚濊禆鍏崇郴涓烘槗鐞嗚В鐨勶紝灝藉彲鑳戒笉鍑虹幇寰幆錛岃屼笖鏈灝忋?br />[17] 瀵逛簬鎵鏈夌殑綾伙紝瀹氫箟濂戒笉鍙樺紡銆?br />[18] 鏄懼紡鍦板皢鍓嶆潯浠躲佸悗鏉′歡鍜屽叾浠栨柇璦琛ㄨ堪涓烘柇璦錛堝彲鑳戒嬌鐢ˋssert()錛夈?br />[19] 瀹氫箟鐨勭晫闈㈠簲璇ュ彧鏆撮湶鍒濆敖鍙兘灝戠殑淇℃伅銆?br />[20] 灝藉彲鑳藉噺灝戜竴涓晫闈㈠鍏朵粬鐣岄潰鐨勪緷璧栨с?br />[21] 淇濇寔鐣岄潰涓哄己綾誨瀷鐨勩?br />[22] 鍒╃敤搴旂敤灞傜殑綾誨瀷鏉ヨ〃榪扮晫闈€?br />[23] 灝嗙晫闈㈣〃榪板緱浣胯姹傚彲浠ヤ紶閫掔粰榪滅▼寰楁湇鍔″櫒銆?br />[24] 閬垮厤鑲ュぇ鐨勭晫闈€?br />[25] 灝藉彲鑳藉湴浣跨敤private鏁版嵁鍜屾垚鍛樺嚱鏁般?br />[26] 鐢╬rotected/private鍖哄垎寮媧劇敓綾葷殑璁捐鑰呬笌涓鑸敤鎴烽棿鐨勪笉鍚岄渶瑕併?br />[27] 浣跨敤妯℃澘鍘誨仛閫氱敤鍨嬬▼搴忚璁°?br />[28] 浣跨敤妯℃澘鍘誨仛綆楁硶絳栫暐鐨勫弬鏁板寲銆?br />[29] 濡傛灉闇瑕佸湪緙栬瘧鏃跺仛綾誨瀷瑙f瀽錛屾儏浣跨敤妯℃澘銆?br />[30] 濡傛灉闇瑕佸湪榪愯鏃跺仛綾誨瀷瑙f瀽錛岃浣跨敤灞傛緇撴瀯銆?/p>
絎?5绔?綾葷殑浣滅敤
[1] 搴旇瀵逛竴涓被鐨勪嬌鐢ㄦ柟寮忓仛鍑烘湁鎰忚瘑鐨勫喅絳栵紙浣滀負(fù)璁捐甯堟垨鑰呬綔涓虹敤鎴鳳級銆?br />[2] 搴旀敞鎰忓埌娑夊強(qiáng)涓嶅悓縐嶇被鐨勭被涔嬮棿鐨勬潈琛¢棶棰樸?br />[3] 鐢ㄥ叿浣撶被鍨嬪幓琛ㄧず綆鍗曠殑鐙珛姒傚康銆?br />[4] 鐢ㄥ叿浣撶被鍨嬪幓琛ㄧず閭d簺鏈浣蟲晥鏋滃強(qiáng)鍏跺叧閿殑姒傚康銆?br />[5] 涓嶈浠庡叿浣撶被媧劇敓銆?br />[6] 鐢ㄦ娊璞$被鍘昏〃紺洪偅浜涘璞$殑琛ㄧず鍙兘鍙樺寲鐨勭晫闈€?br />[7] 鐢ㄦ娊璞$被鍘昏〃紺洪偅浜涘彲鑳藉嚭鐜板縐嶅璞¤〃紺哄叡瀛樻儏鍐電殑鐣岄潰銆?br />[8] 鐢ㄦ娊璞$被鍘昏〃紺虹幇瀛樼被鍨嬬殑鏂扮晫闈€?br />[9] 褰撶被浼兼蹇靛叡浜澶氬疄鐜扮粏鑺傛椂錛屽簲璇ヤ嬌鐢ㄧ粨鐐圭被銆?br />[10] 鐢ㄧ粨鐐圭被鍘婚愭鎵╁厖涓涓疄鐜般?br />[11] 鐢ㄨ繍琛屾椂綾誨瀷璇嗗埆浠庡璞¤幏鍙栫晫闈€?br />[12] 鐢ㄧ被鍘昏〃紺哄叿鏈変笌涔嬪叧鑱旂殑鐘舵佷俊鎭殑鍔ㄤ綔銆?br />[13] 鐢ㄧ被鍘昏〃紺洪渶瑕佸瓨鍌ㄣ佷紶閫掓垨鑰呭歡榪熸墽琛岀殑鍔ㄤ綔銆?br />[14] 鍒╃敤鐣岄潰綾誨幓涓烘煇縐嶆柊鐨勭敤娉曡岃皟鏁翠竴涓被錛堜笉淇敼榪欎釜綾伙級銆?
[15] 鍒╃敤鐣岄潰綾誨鍔犳鏌ャ?br />[16] 鍒╃敤鍙ユ焺鍘婚伩鍏嶇洿鎺ヤ嬌鐢ㄦ寚閽堝拰寮曠敤銆?br />[17] 鍒╃敤鍙ユ焺鍘葷鐞嗗叡浜殑琛ㄧず銆?br />[18] 鍦ㄩ偅浜涜兘棰勫厛瀹氫箟鎺у埗緇撴瀯鐨勫簲鐢ㄩ鍩熶腑浣跨敤搴旂敤妗嗘灦銆?/p>