- C/C++實踐進階之道:寫給程序員看的編程書
- 陳黎娟
- 965字
- 2020-06-29 11:37:36
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區別開來。不過,總的來說,我們不推薦使用這個功能,還是全局變量和局部變量,不要使用相同的標示符比較好。不過也應知道這個功能,也能閱讀別人的代碼。
- Python語言程序設計
- Python從入門到精通(精粹版)
- 新手學Visual C# 2008程序設計
- Python編程與幾何圖形
- 用Python實現深度學習框架
- Keras深度學習實戰
- Python High Performance Programming
- Visual Basic 6.0程序設計實驗教程
- Building Serverless Web Applications
- 創意UI Photoshop玩轉移動UI設計
- Visual Basic程序設計實驗指導及考試指南
- Python編程入門(第3版)
- 計算機系統解密:從理解計算機到編寫高效代碼
- R語言:邁向大數據之路
- Developing RESTful Web Services with Jersey 2.0