簡體   English   中英

C ++的哪些領域對C程序員最有用?

[英]What areas of C++ are most useful to a C programmer?

我不喜歡C ++,我喜歡C,但是我發現我必須像STL等一樣對C ++有所了解,才能做一些類似於C的C ++。

至少我應該對C ++有什么了解? (語言規范,API,庫等)

我不同意你的說法。 僅僅知道C的編寫C ++代碼的人正在用C用類編寫C ,而他們通常所做的就是利用重載和類/結構成員函數。

在我看來,這是一種不好的風格,它最好的情況下並沒有使用C ++,而且一般來說,以這種方式編寫代碼毫無意義。 使用某些C ++庫(例如但不僅限於STL)並不能改善這種情況。 您將能夠找到提供STL提供的任何數據結構和算法的C庫。

編寫C ++所需的只是改變主意,學習新的編程范例。 C ++不是帶有類的C語言,否則您只是在使用邊際功能(例如函數重載和成員函數-可以在C中輕松模擬),並與許多問題(例如符號修改,編譯時間慢等)進行交換。

您應該學習面向對象的編程概念。 它可以幫助您重用源代碼,並且更易於維護和修復錯誤。 如果要開發大型項目,則面向對象的編程非常重要。

從C ++,您應該學習:

  • 類和對象:它可以幫助您抽象要表示的內容。
  • 繼承和虛函數:面向對象的編程功能。
  • 例外:它可以幫助您查找和處理錯誤。
  • 模板:您可以為任何數據類型編寫類和函數。
  • stl容器:鏈表,二叉樹,

您可以編寫c代碼,它將在cpp編譯器上編譯良好。 諸如枚舉和無效之類的東西有些不同,但是除此之外,您用c編寫的任何內容也將在cpp中編譯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM