歷史
Bjarne Stroustrup在攻取Ph.D 時就有一個構想,如何研究出一套方便又好用的程式語言。1979他參考了Simula的功能後,開始修改c語言,而在AT&T Bell Labs製作出Simula-like 的加強版C語言,稱做"C with Classes"的程式語言,這就是C++的前身,他將以下的功能(features)加入C語言的編譯器:class、derived class、strong typing、inlining和default argument
在1983才將其命名為 C++ (++ 是C語言的increment operator),新增的features 包含virtual functions、function name 和operator overloading、references、constants、ype-safe free-store memory allocation (new/delete)、improved type checking和BCPL style single-line comments with two forward slashes (
//
),以及C++的 compiler for C++(Cfront)。
在1985,第一個C++ Programming Language 版本被發行被released,而第一版商業化的C++在同年10月被released。
C++ 2.0在1991發行,新的features包含multiple inheritance、abstract classes、static member functions、const member functions和protected members. 在1990,C++ 的參考手冊被發行。後續更陸續新增了一些feature,包含 templates、exceptions、namespaces、new casts和 boolean type。
在2011,C++11 被發行,而且新增了更多的 features和standard library。
認識 C++ 語言
甚麼是C++
C++ (宣告為cee plus plus) 是個通用的程式設計語言,它包含object-oriented和generic programming features,也提供low level memory存儲操作的能力。.
他主要被設計做 systems programming (如embedded systems、operating system kernels),或在設計上有performance、efficiency 和flexibility的需求,C++ 也被發現在其他的運用上很有用,包含desktop applications、servers (如e-commerce、web search、SQL),performance critical的應用程式 (如telephone switches、space probes)和entertainment software(例如video games)。
他是一個編譯語言,可以運作在多種platforms。各種組織都有支援,包含FSF、LLVM、Microsoft和Intel。
C++是International Organization for Standardization (ISO)訂的standard,C++11在September 2011被ISO發行(ISO/IEC 14882:2011)。C++ 程式語言最早被標準化於1998 (ISO/IEC 14882:1998),, 標準在C++03被作修正( ISO/IEC 14882:2003)。而現在的標準C++11,擁有新的features和擴充了standard library。
使用C++的好處
程式碼精簡,產生的程式執行效率佳。
具有很高的可攜性。
完全支援模組化的程式設計
彈性大而擴充性強
誰需要使用C++
程式設計師
甚麼時候使用C++
需要程序化程式設計 (procedural programming) 、物件導向程式設計 (object-oriented programming) 的程式設計。
如何使用C++
使用 C++ 語言寫程式,最簡單的方式就是開啟文字編輯器 (text editor) ,然後將原始程式碼逐字元一個一個打進文字編輯器中,然後依純文字檔案的編碼儲存檔案, C++ 程式的原始碼檔案採用 .cpp 的副檔名。
Note:
由於 C++ 編譯器的版本眾多,各種編譯器支援不同的副檔名,因此除了 .cpp 之外,尚有 .cxx 、 .xp 、 .c 等,我們採用 GCC 編譯範例程式,副檔名使用常見的 .cpp 。
如何寫程式
C++ 程式的產生過程:
C++原始程式(SOURCE.C) → C++編譯器(COMPILER) →變成目的檔(SOURCE.OBJ;機器碼,如001110010100) →經由連結器(LINKER) →可執行檔(SOURCE.EXE)
◆高階語言運作步驟說明
(1)Source file(原始程式檔 ):可以使用程式開發工具或文字編輯器來編寫source code,一般都存成xxx.c。
Note:
副檔名可用 .cc 、 .cxx 、 .cpp 、 .cp 或 .C。
(2)Compiler(編譯器:一支程式,將source code翻譯成機器碼(machine code;機器看的懂的程式碼),會產生xxx.obj檔案,如Microsoft Visual C++ 、TurboC Borland C Build。
Note:
source file如果在語法有syntax error(語法錯誤)的話,他會要求你重新修改source code。
(3)Object file(目的檔):compiler將source code compile 之後翻譯成機器碼,一般都存成xxx. obj。
(4)Linker(連結器):一支程式,將complie過的xxx.obj檔和其他的目地檔 (object file)做連結,進而產生可執行檔(executable file)。
(5)Executable file(執行檔):可以真正執行的程式檔案,當執行時,它會被load(載入)到電腦的memory裡,然後執行。
工具
C++ 程式開發工具,有Visual C++、Borland C++ Builder / C++ BuilderX、GCC、Dev C++。
程式架構
前置處理器指示詞→主函式(main{})→陳述 (運算式+";")
Note:
運算式 (expression) 由運算元 (operand) 與運算子 (operator) 所組成。
前置語言
前置處理器指示詞 (例如 #define 和 #ifdef) 通常用來使來源程式在不同的執行環境中易於變更和易於編譯。
原始程式檔中的指示詞會指示前置處理器執行特定動作。
#include 為 C++ 的前置處理器 (preprocessor) 之一,用來引入標頭檔 (header file) 所宣告 (declaration) 的內容。如#include <iostream>(從 C++ 的標準程式庫 (standard library) 引入輸入或輸出 (I/O) 的功能)。
Note:
角括號 < > 圍起來的是標準程式庫中的 iostream。
C++ 的輸入或輸出的功能都被放在標準程式庫之中。
前置處理器會辨識下列指示詞:
沒有留言:
張貼留言