C++是否完全兼容C?
2 回答

手掌心
TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
C++可以兼容大部分C語言編程。
C++是在C語言的基礎(chǔ)上開發(fā)的一種面向?qū)ο缶幊陶Z言,應(yīng)用廣泛。C++支持多種編程范式 --面向?qū)ο缶幊獭?a >泛型編程和過程化編程。
C語言是C++的基礎(chǔ),C++和C語言在很多方面是兼容的。
C++一般被認(rèn)為是C的超集合(Superset),但這并不嚴(yán)謹(jǐn)。大部分的C代碼可以很輕易的在C++中正確編譯,但仍有少數(shù)差異,導(dǎo)致某些有效的C代碼在C++中失效,或者在C++中有不同的行為。
最常見的差異之一是,C允許從void*隱式轉(zhuǎn)換到其它的指針類型,但C++不允許。
比如
1 | int *i= malloc ( sizeof ( int )*5); |
在C中是合法的,在C++中就必須
int*i=(int*)malloc(sizeof(int)*5);
另一個(gè)常見的可移植問題是,C++定義了新關(guān)鍵字,例如如new,class,它們在C程序中可以作為識別字(例:變量名)的。
- 2 回答
- 0 關(guān)注
- 708 瀏覽
添加回答
舉報(bào)
0/150
提交
取消