C++ 概述:C++程式語言介紹



C++ 是一種靜態型別化、編譯型、通用型、區分大小寫、自由格式的程式語言,支援過程式、面向物件和泛型程式設計。

C++ 被認為是一種中級語言,因為它結合了高階和低階語言的特性。

C++ 由 Bjarne Stroustrup 於 1979 年在新澤西州默裡山的貝爾實驗室開始開發,作為對C語言的增強,最初名為帶類的 C,後來在 1983 年更名為 C++。

C++ 是 C 的超集,幾乎任何合法的 C 程式都是合法的 C++ 程式。

注意 - 當型別檢查在編譯時而不是執行時執行時,據說程式語言使用靜態型別。

面向物件程式設計

C++ 完全支援面向物件程式設計,包括面向物件開發的四大支柱:

標準庫

標準 C++ 包含三個重要部分:

ANSI 標準

ANSI 標準旨在確保 C++ 的可移植性;您為 Microsoft 編譯器編寫的程式碼將使用 Mac、UNIX、Windows 或 Alpha 上的編譯器進行編譯而不會出現錯誤。

ANSI 標準已經穩定了一段時間,所有主要的C++ 編譯器製造商都支援 ANSI 標準。

學習 C++

學習 C++ 最重要的是關注概念。

學習程式語言的目的是成為一名更好的程式設計師;也就是說,在設計和實現新系統以及維護舊系統方面變得更有效。

C++ 支援多種程式設計風格。您可以使用任何語言以Fortran、C、Smalltalk 等的風格編寫程式碼。每種風格都能有效地實現其目標,同時保持執行時和空間效率。

C++ 的用途

  • C++ 被數十萬程式設計師用於幾乎所有應用領域。
  • C++ 被廣泛用於編寫裝置驅動程式和其他依賴於即時約束下直接操作硬體的軟體。
  • C++ 廣泛用於教學和研究,因為它足夠簡潔,可以成功地教授基本概念。
  • 任何使用過 Apple Macintosh 或執行 Windows 的 PC 的人都間接使用了 C++,因為這些系統的主要使用者介面是用 C++ 編寫的。

C++ Hello World

透過在控制檯上列印“Hello World”來開始學習 C++ 的第一個程式:

#include <iostream>
using namespace std;

int main() {
   cout << "Hello, World!"; // prints Hello, World!
   return 0;
}

以上程式碼的輸出是

Hello, World!

C++ 的優點

C++ 程式語言比其他語言有很多優點。其中一些優點如下:

  • 豐富的標準庫:C++ 語言為使用者提供了豐富且有用的標準模板庫 (STL)。該庫有很多內建方法和資料結構模板,可以使使用這種語言進行編碼更高效、更快捷。
  • 面向物件概念:C++ 語言為使用者提供了面向物件程式設計的概念,如類、物件、抽象、多型性等等。因此,它是 C 程式語言的改進和更好版本。
  • 更快的效能:與PythonGoC#等其他語言相比,C++ 語言更快。這使得它在嵌入式系統和遊戲處理器中非常有用。
  • 高效的編譯器:C++ 是一種編譯型語言。C++ 編譯器非常通用,它可以接受過程式程式和麵向物件程式。
  • 硬體獨立性:C++ 語言獨立於任何硬體或系統設計。C++ 程式可以在任何安裝並啟用 C++/GCC 編譯器的系統上執行。
  • 龐大的支援基礎:C++ 是全球使用最廣泛的程式語言之一。它擁有龐大的開發人員和程式設計師社群。這可以在 Github、Reddit、Discord、DEV、Stack Overflow 等平臺上找到。

C++ 的缺點

C++ 程式語言也有一些缺點,如下所示

  • 錯誤檢測:C++ 提供了低階設計的工具,並且非常接近系統的硬體。因此,這可能會導致使用者犯一些難以觀察和檢測的小錯誤。
  • 語法冗長:C++ 的程式碼庫非常冗長,許多程式設計師發現編寫如此冗長的語法很困難。這受到了 Python、Go 等語言使用者的批評,這些語言更容易編碼且更易於執行。
  • 學習曲線陡峭:與 Python 和 Go 相比,C++ 的學習曲線非常陡峭。使用者認為初始構建階段很難學習,並且許多概念初學者難以理解。

關於 C++ 的事實

以下是一些關於 C++ 程式語言有趣且鮮為人知的事實:

  • C++ 語言是在 AT&T 貝爾實驗室發明的,C 語言也是在那裡發明的。
  • C++ 語言廣泛用於美國宇航局,它在飛行軟體和命令設計中得到應用。
  • C++ 是 C 語言的繼承者。C++ 的名稱取自 C,增量運算子 ('++') 表示該語言是 C 的下一個版本。
  • C++ 廣泛應用於遊戲開發、伺服器端網路、TCP/IP 連線、低階設計等領域。
  • C++ 程式從執行main()函式開始,其他函式僅透過 main() 函式進行重定向。
  • C++ 繼承了 C 的幾乎所有特性,並從 Simula68 程式語言中引入了面向物件的概念。
  • C++ 不支援純面向物件程式設計。程式可以像在過程式語言中一樣,無需使用類和物件即可執行。
  • 有很多語言是使用 C++ 概念化的,其中一些是 C#、JavaJavaScript 等等。
廣告