int?*a;
a++;
int?b?=?&a;???//比如這個例子,我在C里面可以直接對地址進(jìn)行數(shù)值上的變化從而改變地址的值,JAVA里怎么辦?有類似辦法么?因?yàn)槟壳皬腃移植到j(luò)ava的程序中頻繁遇到地址直接操作的方式,求C語言和JAVA大神相助
2 回答

onemoo
TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個贊
其實(shí)底層細(xì)節(jié)上的不同體現(xiàn)出的是C和Java兩者編程思想的不同!
如果你想把C代碼移植到Java,那就不應(yīng)該簡單地一行行替換代碼,而是要將C代碼邏輯拆分成不同的“對象”——將C代碼完成的工作變成這些對象間的交互——將這些封裝成Java的class。也就是將C代碼按照面向?qū)ο箫L(fēng)格重寫。
另一方面,如果在重構(gòu)的過程中你發(fā)現(xiàn):還是原來的C代碼簡潔明了、邏輯清晰,重封裝成class后反而變得復(fù)雜了,那說明要么是你沒有很好的將對象關(guān)系抽象出來;要么就是這段代碼更適合用C來實(shí)現(xiàn)。
添加回答
舉報
0/150
提交
取消