程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 初次接觸C/C++語言注意事項

初次接觸C/C++語言注意事項

編輯:C++入門知識

C/C++語言對函數的處理方式是不同的。extern "C"是使C++能夠調用C寫作的庫文件的一個手段,如果要對編譯器提示使用C的方式來處理函數的話,那麼就要使用extern "C"來說明。

C語言簡潔、高效,但是C語言也有其自身的缺點,例如弱的類型檢查機制等,使得使用C語言開發大型的應用程序比較困難。20世紀80年代,美國貝爾實驗室的Bjarne Stroustrup博士及其同事在C語言的基礎上引入了面向對象的編程思想和一個class關鍵字,形成了最早的C++語言原型。

後來,C++語言被融入了越來越多的語言特性,其中最具有意義、影響最深遠的莫過於template模板)的引入,最終美國國家標准化協會ANSIAmerican National Standard Institute)和國際標准化組織ISOInternational Standards Organization)

一起對C++語言進行了標准化工作,並於1998年正式發布了C++語言的國際標准ISO/IEC:98-14882。C++已經成為最流行的程序設計語言之一。C++和C#、Java的區別很多剛接觸程序設計的人經常會問“C++和C#、Java有哪些區別?學哪個比較好?”這樣的問題。

在網絡上搜索一下,也不難發現這個問題已在各大論壇中成為討論的焦點。面向對象還是面向過程C語言是面向過程的。C++和C#、Java這3種語言都使用了類似C風格的語法,但它們都是面向對象OOP)的。C/C++語言是對C語言的一個擴充,也就是說,一個C語言的程序,也可以認為是一個C++程序沒有用到C++高級特性而已),C#和Java對C語言沒有任何的兼容性。

內存管理是否自動釋放C++和C#、Java這3種語言中,C++是最早出現的,保持了對C的兼容性,允許指針的存在,允許程序員手動高效地管理、使用內存盡管這也是最容易引起問題的地方)。C++在發展的過程中,不斷地補充語言特性,使得C++成為最靈活的編程語言之一。

C/C++語言的靈活性是建立在其復雜的語法之上的,因此對於初學者來說,很有可能因此望而卻步,但是如果堅持下去,就會發現,再去看C#、Java語法時會感到很輕松。
C#、Java語言相對C++語言來說,在語法上要簡單得多,因此初學者很容易上手。

二者拋棄了最容易引起問題的指針,對內存的管理完全自動化,這樣雖然帶來了程序的穩定性和安全性,但是在某種程度上丟失了效率。提示:因為內存管理自動化,C#、Java語言擁有垃圾自動回收機制,在C++中,申請的內存必須由程序員自己手動釋放,如果忘記這一點就會引起內存洩露。

然而,C/C++語言的復雜性始終是一個不可回避的現實。C++中有大量的陷阱和缺陷,後者導致了數目驚人的慣用法和workarounds。不加選擇的全盤預先學習,是非常糟糕的做法,不僅低效,而且根本沒有必要,實在是浪費生命。

愛因斯坦曾經說過,“我只想知道‘他’宇宙)的設計理念,其它的都是細節”。然而,正如另一些讀者指出的,如果對C++中的這些細節事先一點都沒有概念的話,那麼實際編碼中一旦遇到恐怕就變成沒頭蒼蠅了,也許到哪裡去RTFM都不知道。這也是為什麼那麼多C++面試都會不厭其煩地問一些有代表性的語言細節的原因。

  1. 簡介學習C++總結之談
  2. 對C++庫函數進行學習探索總結筆記
  3. C++類庫設計的基本構思與方法
  4. C++語言真的還有市場價值?
  5. C++類庫設計的基本構思與方法

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved