回覆列表
-
1 # 日語部落
-
2 # 人民富豪
c++是c的擴充套件,從內容上來說,包括但不僅限於c。
c艹標準庫比c抽象度高,以資料型別舉例,c的資料型別有整形,浮點值,指標,陣列等,你會發現這些都是具體的概念;而c艹資料型別本身有物件,又由stl庫引入了順序容器,關聯式容器,string等,你會發現這些都是抽象的概念。
為什麼抽象的資料型別更簡單呢?實際上這裡的簡單是指的使用起來簡單。因為人的思維也是抽象的,比如讓你想象一個排序問題,你的大腦中就會浮現出:數字排成一排,排序演算法使數字左右跳動。這不正中c艹連結串列的下懷了嗎,你的想法可以直接轉化為程式碼。你想法中有一些抽像的部分可以直接在c艹中找到對應的工具或介面給你使用,但c沒有,你可能發現自己的思維很難轉化成計算機執行的程式碼,所以覺得c難吧。
剛開始沒有別的辦法,多看看別人的程式碼,自己嘗試寫一寫,慢慢就會了。
-
3 # 程式猿的憤怒
我們說c語言難的時候,這句話有點歧義,其實c作為語言是最簡單的幾種之一,難在開發,難在做專案。c基礎庫簡單,可用的東西少,開發中很多介面要自己寫,要熟悉作業系統,不像JAVA有大堆的框架可用,再加上指標的應用,開發專案確實難度大,容易出bug。c++作為語言可以說是最複雜了,特別是11 以後,把其他語言優秀的特性都複製了一遍,導致總也學不完,學不透,還有特有的模板,多繼承。同時開發難度也不小,仍然有大量的指標要用,仍然要熟悉作業系統。綜合起來還是c++更難
C++可以說是C語言的延伸,C++和JAVA同樣都是面相物件的語言。C語言難度相對來說比較大一點的指標和陣列排列。C++不僅有這些,C++比較難搞的個人覺得是庫的問題,要麼自己寫庫,要麼呼叫別人的庫。
舉一個例子,假如扒取某個網站網頁資料,用python幾十行程式碼的事情,很多東西直接可以呼叫,不管是http還是https,很多人都是呼叫curl的標準庫來實現的,作為第三方庫編譯起來很難不報錯,http倒是好實現,https還需要ssl相關庫,配置起來想打人,我相信找不到錯誤原因有很多人,有時只能一步步的除錯找錯誤資訊了。
如果你覺得C++簡單C語言難,那你可能基本功還不紮實吧,或者做的專案比較簡單,C++程式碼相對來說程式碼量要少一些,C語言模組很多都是經過封裝了,C++可以直接呼叫來使用,C語言寫的東西多,可能你覺得難度大,你可以嘗試一下寫一些管理系統,後端資料這塊,WS/TCP協議通訊這塊的程式,你會發現C++並沒有你想象的那麼簡單。
網上有個段子:有物件的人要比沒物件的人過得辛苦