**1. 什麼是c++
2. c++發展史
1.什麼是c++
c語言是結構化和模組化的語言,適合處理較小規模的程式。對於複雜的問題,規模較大的程式,需要高度
的抽象和建模時,c語言則不合適。為了解決軟體危機, 20世紀80年代, 計算機界提出了oop(object
oriented programming:物件導向)思想,支援物件導向的程式語言應運而生。
2023年,bjarne stroustrup博士在c語言的基礎上引入並擴充了物件導向的概念,發明了一種新的程式語言。為了表達該語言與c語言的淵源關係,命名為c++。因此:c++是基於c語言而產生的,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行物件導向的程式設計
2.c++的發展史
2023年,貝爾實驗室的本賈尼等人試圖分析unix核心的時候,試圖將核心模組化,於是在c語言的基礎上進
行擴充套件,增加了類的機制,完成了乙個可以執行的預處理程式,稱之為c with classes。
語言的發展就像是練功打怪公升級一樣,也是逐步遞進,由淺入深的過程。我們先來看下c++的歷史版本
階段內容
c with classes
類及派生類、公有和私有成員、類的構造和析構、友元、內聯函式、賦值運算子過載等
c++1.0
新增虛函式概念,函式和運算子過載,引用、常量等
c++2.0
更加完善支援物件導向,新增保護成員、多重繼承、物件的初始化、抽象類、靜態成員以及const成員函式
c++3.0
進一步完善,引入模板,解決多重繼承產生的二義性問題和相應構造和析構的處理
c++98c++標準第乙個版本,絕大多數編譯器都支援,得到了國際標準化組織(iso)和美國標協會認可,以模板方式重寫c++標準庫,引入了stl(標準模板庫)
c++03
c++標準第二個版本,語言特性無大改變,主要:修訂錯誤、減少多異性
c++05
c++標準委員會發布了乙份計數報告(technical report,tr1),正式更名c++0x,即:計畫在本世紀第乙個10年的某個時間發布
c++11增加了許多特性,使得c++更像一種新語言,比如:正規表示式、基於範圍for迴圈、auto關鍵字、新容器、列表初始化、標準執行緒庫等
c++14
對c++11的擴充套件,主要是修復c++11中漏洞以及改進,比如:泛型的lambda表示式,auto的返回值型別推導,二進位制字面常量等
c++17
在c++11上做了一些小幅改進,增加了19個新特性,比如:static_assert()的文字資訊可選,fold表示式用於可變的模板,if和switch語句中的初始化器等
c++20
定製ing
在往後的日子裡c++並不會說停止不前的,未來的改變在大家哦!
android入門小知識
1.在介紹android的系統架構之前大家先看一張圖 android系統架構包含四個層面 linux核心層,系統執行層,應用框架層,應用層。linux核心層 為android裝置的各種硬體提供了底層的驅動。比如 顯示驅動,音訊驅動等 系統執行層 c c 在這裡 sqlite webkit等在這裡。a...
爬蟲入門小知識
url response requests.get url print response c users administrator pycharmprojects day1 venv scripts python.exe c users administrator pycharmprojects ...
php入門小知識
1.乙個整合的環境軟體,也就是別人把所有的亂七八的放在了一塊,做成軟體,這種是sg式的,我覺的初學者用這種好點 2.各自 安裝.php.zen程式設計客棧d.apache 這種方法最亂了,現在還沒有搞清楚.我是由於機上裝有iis,於就是裝了個php和zend就好.現在在伺服器上可以同時執行php和a...