官术网_书友最值得收藏!

1-5 C++:更好的C

今天的C程序員,也不可能只把自己的知識范圍完全限定在C語言之中。畢竟C++,已經存在了很多年,并且對C標準的變化也產生了很多的影響。

實際上,去除引入class等關鍵字,引入面向對象這種新的開發模式之外,C++對C語言還有很多不錯的改進。即使在一些純C的嵌入式開發環境中,也提供了對這些特性的支持。對于實際一線的開發工程師來說,有比較得力的功能我們就用,并不在意它是C提供的,還是C++提供的。事實上也是如此,如果不是寫這篇文章總結,我們中的個別作者并不知道這些功能是C++時代才有的,我們只知道編譯器中有這個好用的功能。下面來列舉一下,哪些是C++對C非常好的改進,后面在講解的時候,不再特別區分C和C++,不再具體說明,拿來就用,只要編譯器提供支持。

新的注釋模式

是“//”單行注釋模式,任何一行代碼,“//”之后均為注釋。比起/*……*/注釋單行,更簡潔一些。

新的輸入/輸出方法

是cin和cout這種新的方法,有時候比printf()用起來更簡單。

大多數C語言圖書都有比較詳細地介紹,我們提供的免費閱讀材料中也有,這里不再贅述。

const的新功能

作為專業程序員,后面我們會詳細地講到。這里提醒讀者,這是一個非常有用的功能,至少比#define定義常量好用,很多面試題會考到。

變量的定義更加靈活

C語言中,變量必須在函數的開頭定義。

C++做出了改變,在任何時候,你都可以定義,只要滿足先定義后使用的原則即可。

這有個非常好的用處,就是一些臨時變量,可以隨時定義。比如for(int i=1;i<100;i++)這樣的語句就會因此獲利。

不過,這樣也帶來一些壞處,有些時候被濫用了,程序會顯得比較怪異。

這個新功能,我們認為符合C語言,信任程序員自己能控制好的設計原則,應該值得推薦。

函數的重載

這對實現同一個功能的函數,采用相同的函數名,會起到非常好的效果。

帶默認參數的函數

道理同上。

變量的引用類型

這個新功能,專業程序員用得太多了,后面會詳細講到。

新的內存分配函數new和delete

功能和malloc和free一樣,不過功能更加強大。

內嵌(inline)函數

比宏更安全,特別是與參數的時候。但有時候調用多次,效率會比較低。

作用域運算符

有時候,全局變量和局部變量相同,在某個函數中,訪問全部變量flag,就要用::flag,和函數中的局部變量flag區別開來。不過,總的來說,我們不推薦使用這個功能,還是全局變量和局部變量,不要使用相同的標示符比較好。不過也應知道這個功能,也能閱讀別人的代碼。

主站蜘蛛池模板: 新蔡县| 章丘市| 定州市| 潼南县| 工布江达县| 林西县| 临汾市| 凤城市| 高清| 苗栗县| 井研县| 乐至县| 永安市| 瑞金市| 丰顺县| 德兴市| 松桃| 咸阳市| 嘉禾县| 扎兰屯市| 织金县| 淮北市| 治多县| 简阳市| 波密县| 宁都县| 封开县| 台安县| 洱源县| 神农架林区| 鱼台县| 错那县| 锡林郭勒盟| 海口市| 重庆市| 冕宁县| 景泰县| 阿克陶县| 宝山区| 绍兴市| 聊城市|