锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 涓鐩撮兘鎶婂爢鏍堟斁涓璧鳳紝鎵浠ュ緢澶氫漢浼氳浠ヤ負浠栦滑鐨勭粍鍚堟槸涓涓瘝璇紝灝卞儚“琛f湇”涓鏍風畝鍗曪紝鍏跺疄涓嶇劧錛屼粖澶╁湪涓嬪氨灝嗘渶榪戝涔犳葷粨鐨勪竴浜涗笌澶у鍒嗕韓銆?/span> 涓涓敱C/C++緙栬瘧鐨勭▼搴忓崰鐢ㄧ殑鍐呭瓨鍒嗕負浠ヤ笅鍑犱釜閮ㄥ垎錛?/span> 1銆佹爤鍖猴紙stack錛夛細鍙堢紪璇戝櫒鑷姩鍒嗛厤閲婃斁錛屽瓨鏀懼嚱鏁扮殑鍙傛暟鍊鹼紝灞閮ㄥ彉閲忕殑鍊肩瓑錛屽叾鎿嶄綔鏂瑰紡綾諱技浜庢暟鎹粨鏋勭殑鏍堛?/span> 2銆佸爢鍖猴紙heap錛夛細涓鑸槸鐢辯▼搴忓憳鍒嗛厤閲婃斁錛岃嫢紼嬪簭鍛樹笉閲婃斁鐨勮瘽錛岀▼搴忕粨鏉熸椂鍙兘鐢?/span>OS鍥炴敹錛屽煎緱娉ㄦ剰鐨勬槸浠栦笌鏁版嵁緇撴瀯鐨勫爢鏄袱鍥炰簨錛屽垎閰嶆柟寮忓掓槸綾諱技浜庢暟鎹粨鏋勭殑閾捐〃銆?/span> 3銆佸叏灞鍖猴紙static錛夛細涔熷彨闈欐佹暟鎹唴瀛樼┖闂達紝瀛樺偍鍏ㄥ眬鍙橀噺鍜岄潤鎬佸彉閲忥紝鍏ㄥ眬鍙橀噺鍜岄潤鎬佸彉閲忕殑瀛樺偍鏄斁涓鍧楃殑錛屽垵濮嬪寲鐨勫叏灞鍙橀噺鍜岄潤鎬佸彉閲忔斁涓鍧楀尯鍩燂紝娌℃湁鍒濆鍖栫殑鍦ㄧ浉閭葷殑鍙︿竴鍧楀尯鍩燂紝紼嬪簭緇撴潫鍚庣敱緋葷粺閲婃斁銆?/span> 4銆佹枃瀛楀父閲忓尯錛氬父閲忓瓧絎︿覆灝辨槸鏀懼湪榪欓噷錛岀▼搴忕粨鏉熷悗鐢辯郴緇熼噴鏀俱?/span> 5銆佺▼搴忎唬鐮佸尯錛氬瓨鏀懼嚱鏁頒綋鐨勪簩榪涘埗浠g爜銆?/span> 鍫嗗拰鏍堢殑鍖哄埆錛?/span> 涓銆佺敱浠ヤ笂緇艱堪灝卞彲浠ュ緱鐭ワ紝浠栦滑紼嬪簭鐨勫唴瀛樺垎閰嶆柟寮忎笉鍚屻?/span> 浜屻佺敵璇峰拰鍝嶅簲涓嶅悓錛?/span> 1銆佺敵璇鋒柟寮忥細stack鐢辯郴緇熻嚜鍔ㄥ垎閰嶏紝heap闇瑕佺▼搴忓憳鑷繁鐢寵錛?/span>C涓敤鍑芥暟malloc鍒嗛厤絀洪棿錛岀敤free閲婃斁錛?/span>C++鐢?/span>new鍒嗛厤錛岀敤delete閲婃斁銆?/span> 2銆佺敵璇峰悗緋葷粺鐨勫搷搴旓細 鏍堬細鍙鏍堢殑鍓╀綑絀洪棿澶т簬鎵鐢寵鐨勭┖闂達紝浣撶粺灝嗕負紼嬪簭鎻愪緵鍐呭瓨錛屽惁鍒欏皢鎶ュ紓甯告彁紺烘爤婧㈠嚭銆?/span> 鍫嗭細棣栧厛搴旇鐭ラ亾鎿嶄綔緋葷粺鏈変竴涓褰曞唴瀛樺湴鍧鐨勯摼琛紝褰撶郴緇熸敹鍒扮▼搴忕殑鐢寵鏃訛紝浼氶亶鍘嗚閾捐〃錛屽鎵劇涓涓┖闂村ぇ浜庢墍鐢寵鐨勭┖闂寸殑鍫嗙粨鐐癸紝鐒跺悗灝嗚緇撶偣浠庣┖闂茬粨鐐歸摼琛ㄤ腑鍒犻櫎錛屽茍灝嗚緇撶偣鐨勭┖闂村垎閰嶇粰紼嬪簭銆傚彟澶栵紝瀵逛簬澶у鏁扮郴緇燂紝浼氬湪榪欏潡鍐呭瓨絀洪棿涓殑棣栧湴鍧澶勮褰曟湰嬈″垎閰嶇殑澶у皬錛岃繖鏍蜂唬鐮佷腑鐨?/span>delete鎴?/span>free璇彞灝辮兘澶熸紜殑閲婃斁鏈唴瀛樼┖闂淬傚彟澶栵紝鐢變簬鎵懼埌鐨勫爢緇撶偣鐨勫ぇ灝忎笉涓瀹氭濂界瓑浜庣敵璇風殑澶у皬錛岀郴緇熶細灝嗗浣欑殑閭i儴鍒嗛噸鏂版斁鍏ョ┖闂查摼琛ㄤ腑銆?/span> 涓夈?/span> 鐢寵鐨勫ぇ灝忛檺鍒朵笉鍚岋細 鏍堬細鍦?/span>windows涓嬶紝鏍堟槸鍚戜綆鍦板潃鎵╁睍鐨勬暟鎹粨鏋勶紝鏄竴鍧楄繛緇殑鍐呭瓨鍖哄煙錛屾爤欏剁殑鍦板潃鍜屾爤鐨勬渶澶у閲忔槸緋葷粺棰勫厛瑙勫畾濂界殑錛岃兘浠庢爤鑾峰緱鐨勭┖闂磋緝灝忋?/span> 鍫嗭細鍫嗘槸鍚戦珮鍦板潃鎵╁睍鐨勬暟鎹粨鏋勶紝鏄笉榪炵畫鐨勫唴瀛樺尯鍩燂紝榪欐槸鐢變簬緋葷粺鏄敱閾捐〃鍦ㄥ瓨鍌ㄧ┖闂插唴瀛樺湴鍧錛岃嚜鐒跺爢灝辨槸涓嶈繛緇殑鍐呭瓨鍖哄煙錛屼笖閾捐〃鐨勯亶鍘嗕篃鏄粠浣庡湴鍧鍚戦珮鍦板潃閬嶅巻鐨勶紝鍫嗗緱澶у皬鍙楅檺浜庤綆楁満緋葷粺鐨勬湁鏁堣櫄鎷熷唴瀛樼┖闂達紝鐢辨絀洪棿錛屽爢鑾峰緱鐨勭┖闂存瘮杈冪伒媧伙紝涔熸瘮杈冨ぇ銆?/span> 鍥涖佺敵璇風殑鏁堢巼涓嶅悓錛?/span> 鏍堬細鏍堢敱緋葷粺鑷姩鍒嗛厤錛岄熷害蹇紝浣嗘槸紼嬪簭鍛樻棤娉曟帶鍒躲?/span> 鍫嗭細鍫嗘槸鏈夌▼搴忓憳鑷繁鍒嗛厤錛岄熷害杈冩參錛屽鏄撲駭鐢熺鐗囷紝涓嶈繃鐢ㄨ搗鏉ユ柟渚褲?/span> 浜斻佸爢鍜屾爤鐨勫瓨鍌ㄥ唴瀹逛笉鍚岋細 鏍堬細鍦ㄥ嚱鏁拌皟鐢ㄦ椂錛岀涓涓繘鏍堢殑鏄富鍑芥暟涓嚱鏁拌皟鐢ㄥ悗鐨勪笅涓鏉℃寚浠ょ殑鍦板潃錛岀劧鍚庢槸鍑芥暟鐨勫悇涓弬鏁幫紝鍦ㄥぇ澶氭暟鐨?/span>C緙栬瘧鍣ㄤ腑錛屽弬鏁版槸浠庡彸寰宸﹀叆鏍堢殑錛屽綋鏈鍑芥暟璋冪敤緇撴潫鍚庯紝灞閮ㄥ彉閲忓厛鍑烘爤錛岀劧鍚庢槸鍙傛暟錛屾渶鍚庢爤欏舵寚閽堟寚鍚戞渶寮濮嬪瓨鐨勫湴鍧錛屼篃灝辨槸涓誨嚱鏁頒腑鐨勪笅涓鏉℃寚浠ゃ?/span> 鍫嗭細涓鑸槸鍦ㄥ爢寰楀ご閮ㄧ敤涓涓瓧鑺傚瓨鏀懼爢寰楀ぇ灝忥紝鍏蜂綋鍐呭鐢辯▼搴忓憳瀹夋帓銆?/span>
]]>#include <stdio.h>
int do_dup(int a[],int n);
void main()
{
int a[]={1,3,2,3};
do_dup(a,4);
}
int do_dup(int a[],int n)
{
int i;
int *b=new int[n];
for (i=0;i<n;i++)
b[i]=0;
for (i=0;i<n;i++)
{
if (b[a[i]]==0)
{
b[a[i]]=a[i];
}
else
printf("%d\n",b[a[i]]);
}
delete []b;
return 0;
}
]]>
銆double: 16浣嶇簿搴?/p>
浣跨敤virtual鐨勫湴鏂硅繕鏈?span style="color: red">铏氭嫙緇ф壙鍜岃櫄鎷?span style="color: red">鏋愭瀯鍑芥暟銆?br />
渚嬪瓙錛?br />
class SubClass : virtual public BaseClass 涓互virtual澹版槑鐨勫熀綾伙紒錛佺敱浜嶤++鏀寔澶氶噸緇ф壙錛屾墍浠ュ浜庝竴涓淳鐢熺被涓湁鍑犱釜鐩存帴鐖剁被錛岃屽嚑涓洿鎺ョ埗綾諱腑鏈夊嚑涓彲鑳藉垎鍒戶鎵胯嚜鏌愪竴涓熀綾伙紙灝辨槸鐖剁被鐨勭埗綾伙級錛岃繖鏍峰湪鏋勯犳渶緇堟淳鐢熺被鏃訛紝浼氬嚭鐜版渶緇堟淳鐢熺被涓惈鏈夊涓悓涓涓熀綾葷殑鎯呭喌錛屽氨浼氫駭鐢熶簩涔夋х殑闂錛堜笉鐭ラ亾璇ヨ皟鐢ㄥ摢涓熀綾葷殑鎴愬憳鍙橀噺鍜屽嚱鏁幫級錛屼負瑙e喅姝ら棶棰橈紝闇瑕佷嬌鐢ㄨ櫄鍩虹被錛屽嵆鍙姝ゅ熀綾葷敓鎴愪竴鍧楀唴瀛樺尯鍩燂紝榪欐牱鏈緇堟淳鐢熺被涓氨鍙細鍚湁涓涓熀綾諱簡銆?br />
铏氭嫙緇ф壙鐨勪綔鐢細瑙e喅鐢卞緇ф壙涓紝鐖剁被涓彲鑳芥湁鐩稿悓鐨勭埗綾昏屽紩鍙戠殑浜屼箟鎬ч棶棰樸傝櫄鎷熺戶鎵跨殑铏氭嫙鍜岃櫄鎷熷嚱鏁扮殑铏氭嫙娌℃湁浠諱綍鍏崇郴銆?/p>