c 高级语言,C作为高级语言?
So, what C++ do YOU use in you practice? Do you mix the styles, say, arrays and vectors? Are there any rules or best practices here?…
現(xiàn)代C,絕對(duì)。但是在我看來(lái),這并不排除陣列。仍然存在陣列優(yōu)于載體的情況。但是當(dāng)我使用數(shù)組時(shí),我以STL的方式使用它們。我使用指針作為迭代器,我將STL算法應(yīng)用于數(shù)組的內(nèi)容,依此類推。
順便說(shuō)一下,Bjarne Stroustrup自己已經(jīng)被引用來(lái)描述C以與自己描述的非常相似的方式:
Within C++, there is a much smaller and cleaner language struggling to get out
當(dāng)然有限制。與現(xiàn)代C,編譯時(shí)間往往受苦。而且它需要更多的高級(jí)編譯器,這在某些平臺(tái)上使得它不會(huì)發(fā)生。而且還有很多更保守的主要開(kāi)發(fā)人員或項(xiàng)目經(jīng)理,或者古代的代碼庫(kù)有時(shí)意味著它也不是一個(gè)選擇。而且有一定的學(xué)習(xí)曲線,因?yàn)镃的所有陷阱仍然存在,你只需要學(xué)會(huì)繞過(guò)他們(例如,內(nèi)存泄漏不會(huì)消失,現(xiàn)代C只是定義了一些非常強(qiáng)大的模式來(lái)避免它們)。
但是我認(rèn)為現(xiàn)代C可以被認(rèn)為是一種美麗的語(yǔ)言。這絕對(duì)不是你如何描述傳統(tǒng)的“C-class”風(fēng)格C。
當(dāng)我使用(其他)高級(jí)語(yǔ)言工作時(shí),我發(fā)現(xiàn)幾乎總是有一些我從C中想念的東西。語(yǔ)言錯(cuò)過(guò)了強(qiáng)大的和類型安全的容器或表達(dá)式迭代器/算法,或者它缺少對(duì)RAII的支持,或者沒(méi)有辦法表達(dá)通用算法,就像模板一樣。
這些語(yǔ)言也有其優(yōu)點(diǎn),而且無(wú)可爭(zhēng)辯的地方,他們比C更好。但我通常也發(fā)現(xiàn)他們有明顯的缺點(diǎn),在那里我無(wú)法表達(dá)自己的想法以及我可以在C。我必須跳過(guò)籃球,犧牲類型的安全,依靠反思或其他任何東西,只是為了做一些C自己支持的東西。
總結(jié)
以上是生活随笔為你收集整理的c 高级语言,C作为高级语言?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: pc计算机中ram的编址单位,字母编址
- 下一篇: linux下的gpio转串口驱动,X-0