c加加

ction in (in

基本介紹

C++,這個詞在中國大陸的程式設計師圈子中通常被讀做“C加加”,而西方的程式設計師通常讀做“C plus plus”,它是一種使用非常廣泛的計算機程式語言。C++是一種靜態數據類型檢查的,支持多重編程範式的通用程式設計語言。它支持過程式程式設計、數據抽象、面向對象程式設計、泛型程式設計等多種程式設計風格。
貝爾實驗室的本賈尼·史特勞斯特盧普(w:en:Bjarne Stroustrup)博士在20世紀80年代發明並實現了C++(最初這種語言被稱作“C with Classes”)。一開始C++是作為C語言的增強版出現的,從給C語言增加類開始,不斷的增加新特性。虛函式(virtual function)、運算符重載(operator overloading)、多重繼承(multiple inheritance)、模板(template)、異常(exception)、RTTI、名字空間(name space)逐漸被加入標準。1998年國際標準組織(ISO)頒布了C++程式設計語言的國際標準ISO/IEC 14882-1998。遺憾的是,由於C++語言過於複雜,以及他經歷了長年的演變,直到現在(2004年)只有少數幾個編譯器完全符合這個標準。
另外,就目前學習C++而言,可以認為他是一門獨立的語言;他並不依賴C語言,我們可以完全不學C語言,而直接學習C++。根據《C++編程思想》(Thinking in C++)一書所評述的,C++與C的效率往往相差在正負5%之間。所以有人認為在大多數場合C++ 完全可以取代C語言。
C++語言發展大概可以分為三個階段:第一階段從80年代到1995年。這一階段C++語言基本上是傳統類型上的面向對象語言,並且憑藉著接近C語言的效率,在工業界使用的開發語言中占據了相當大份額;第二階段從1995年到2000年,這一階段由於標準模板庫(STL)和後來的Boost等程式庫的出現,泛型程式設計在C++中占據了越來越多的比重性。當然,同時由於Java、C#等語言的出現和硬體價格的大規模下降,C++受到了一定的衝擊;第三階段從2000年至今,由於以Loki、MPL等程式庫為代表的產生式編程模板元編程的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程式設計語言中最複雜的一員。
C++的Hello World程式
在使用兼容C89標準(也稱為ANSI C)的編譯器時,下面這個程式顯示“Hello, world!”然後結束運行:
#include
int main()
{
std::cout << "Hello, world!\n";
}
在使用兼容C99標準(ISO/IEC 14882-1998)的編譯器時,下面的程式也是可以的:
#include
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}
根據ISO C++的規定,main函式的形式只能是
int main()
{
...
}
以及
int main(int argc,char * argv【】)
{
...
}
儘管如此,但在大部份編譯器上,
void main()
{
...
}
也被支持。
C++程式設計師的數量
分析機構EvansData定期對開發人員展開調查,其調查結果與Stroustrup提出的C++正在擴張的說法相違背。EvansData的數據顯示,以C++為工具的開發人員在整個開發界所占的比例由1998年春天的76%下降至2004年秋的46%。
Forrester最新的調查顯示,C++、微軟VisualBasic和Java是眾多公司產品體系的首選語言。對100家公司的調查顯示,C/C++、VisualBasic和Java在產品體系中的使用比例分別是59%、61%和66%。
程式語言、程式設計、cpp、c plus plus

C++入門

C++是一種語言,僅僅是它的語法、特性、標準類庫就已經是一門非常高深的課程,所以在開始學習的時候,必須先要打好基礎。在市面上有很多Visual C++的書,雖然其中可能會花1-2章來介紹C++的基本特性,但是那絕對不會讓你入門。因此,初學者學習C++應該選擇針對C++語言本身的書籍,而不能是針對Visual C++、MFC或者Windows API的。
學習C++應該由易至難,循序漸進。以前經常有人說學習C++之前應該學習C語言。事實上那不是必須的,C++和C語言雖然有關係,但仍然是兩種不同的語言。當然,在學習C++之前學習過其他程式語言是很有好處的。那會使學習C++的速度更快,畢竟很多計算機語言的概念都是相通的。而對於零基礎的初學者來說,則是應該靜下心來,不要急躁。要成為C++的高手,不是那么容易的,必須要花很大的努力。
從入門教材的選擇上,主要看學習者的自身情況。如果已經有過學習高級語言的經歷,那么推薦使用譚浩強的《C++程式設計》。注意是04年版的,06年版的那本書是閹割版,上來就面向對象。雖然說C和C++是相似的,但是前面已經說了,C和C++應該作為兩種語言來學習,所以06年的那本內容就稍微欠缺一點了。譚浩強04版的這本書內容比較規整的,條理也很清晰。如果有過其他高級語言的基礎,那么估計半年就能對C++的概況有個了解了。
如果是從零基礎開始學C++,那么推薦使用潘嘉傑的《易學C++》。這本書是2008年出的新書,聽說是個學生在讀書的時候寫的。這本書網上有下載免費的電子版,不過內容好像不完整。這本書主要就是針對初學者的,講得也比較生動有趣,比較提得起學習的興趣。所以沒有基礎的初學者選這本書也是不錯的。
在這裡我也想給大家一本書,就是陳龍等人編著的<<21天學通C++>>,2009年1月第一次印刷,是一本新書.這本書基本上是給剛入門的人寫的,我也是剛入門的,我個人是感覺學得很輕鬆的,完全能夠明白書中教的內容,這本書主要有以下的特點1.知識點介紹準確.清晰2.每個知識點後面都帶有範例代碼,每行代碼者帶有詳細的解釋3.每一章書的後面都提供簡單的綜合練習,答案在所提供的光碟中4.全書還穿插著一些技巧.提示等小貼士5本書配有光碟,光碟包括多媒體視頻.電子教案.參考寶典電子書等..因為本書有很多優點,所以本書是很適合初學者的.
至於看完入門的書之後,就應該看一些高層次的書了。比如The C++ Programming Language和C++ Primer,同時也可以向STL、MFC、API等各個方向發展。如果對別的語言感興趣,還能去看看C#和Java,它們和C++從語法和很多概念上都是類似的。

相關條目

旅遊 社會自然 環境 建築 科學 藝術

相關詞條

相關搜尋

熱門詞條

聯絡我們