1. 程式人生 > >C++的簡介、起源與發展

C++的簡介、起源與發展

1.C++簡介:

C++融合了3種不同的程式設計方式:C語言代表的過程性語言、C++在C語言基礎上新增的類代表的面嚮物件語言、C++模板支援的泛型程式設計。

2.C++簡史:

2.1 C語言程式設計原理:

由於C++在C語言的基礎上移植了新的程式設計理念,所以我們先回顧一下C語言所遵循的舊的理念。一般來說,計算機語言要處理兩個概念——資料和演算法。資料是程式使用和處理的資訊,而演算法是程式使用的方法。C語言與當前最主流的語言一樣,在最初面世時也是過程性(procedural)語言,這意味著它強調的是程式設計的演算法方面。
但隨著程式規模的擴大,早期的程式語言(Basic)都會遇到組織方面的問題。為了解決這些問題,電腦科學家開發了一種更有序的程式設計方法——結構化程式設計。C語言具有使用這種方法的特性,另一個新原則是自頂向下設計。在C語言中,其理念是將大型程式分解成小型、便於管理的任務。C語言鼓勵程式設計師開發程式單元(函式)來表示各個任務模組。

2.2面向物件程式設計

雖然結構化程式設計的理念提高了程式的清晰度、可靠性、便於維護,但它在編寫大型程式時,仍面臨著挑戰。為應付這種挑戰,OOP提供了新方法,與強調演算法的過程性程式設計不同,OOP強調的是資料。OOP不像過程性程式設計那樣,試圖使問題滿足語言的過程性方法,而是試圖讓語言來滿足問題的要求。
在C++中,類是一種規範,它描述了這種新型資料格式,物件是根據這種規範構造的特定資料結構。通常,類規定了可使用哪些資料來表示物件以及可以對這些資料執行哪些操作。
OOP程式設計方法首先設計類,它們準確表示了程式要處理的東西。

2.3C++和泛型程式設計

泛型程式設計是C++支援的另一種程式設計模式。它與OOP的目標相同,即使重用程式碼和抽象通用概念的技術更簡單,不過OOP強調的是程式設計的資料方面,而泛型程式設計強調的是獨立於特定資料結構。它們的側重點不同,OOP是一個管理大型專案的工具,而泛型程式設計提供了執行常見任務(如對資料排序或合併連結串列)的工具。

C++起源:

與C語言一樣,C++也是在貝爾實驗室誕生的,Bjarne Stroustrup於20世紀80年代在這裡開發出了這種語言。Stroustrup比較關係的是讓C++更有用,而不是實施特定的程式設計原理和風格。名稱C++來自C語言的遞增運算子++,名稱C++表示它是C的擴充版本。

C++發展:

C++是一門以C為基礎發展而來的一門面向物件的高階程式設計語言,從1983年在貝爾實驗室創立開始至今,已有30多個年頭。C++從最初的C with class,經歷了從C++98、C++ 03、C++ 11、C++ 14再到C++17多次標準化改造,功能得到了極大的豐富,已經演變為一門集面向過程、面向物件、函式式、泛型和超程式設計等多種程式設計正規化的複雜程式語言。由於C++過於複雜,並且經歷了長時間的發展演變,目前對於C++標準支援的較好主要有GNU C++和Visual C++,嚴格來說,目前還沒有一個完全支援ISO C++的版本。

C++實現 原始碼檔案的副檔名
UNIX C、cc、cxx、c
GNU C++ C、cc、cxx、cpp、c++
Digital Mars cpp、cxx
Borland C++ cpp
Watcom cpp
Microsoft Visual C++ cpp、cxx、cc
Freestyle Code Warrior cp、cpp、cc、cxx、c++