當前位置:才華齋>計算機>C語言>

C++、C語言和JAVA開發有哪些區別

C語言 閱讀(2.23W)

ava與C/C++作為程式語言的兩大巨頭,他們有什麼區別呢?下面本站小編帶大家一起來看看詳細內容,希望對大家有所幫助!想了解更多相關資訊請持續關注我們應屆畢業生考試網!

C++、C語言和JAVA開發有哪些區別

  1。面向物件沒有java徹底。

由於C++要相容C的內容,而C是面向過程的,所以C++不可避免地出現過程影子,並不算是完全的面向物件的程式設計語言。例如總得要有main或winmain之類的過程吧。

  2。C++的移植能力沒有java好。

由於C++的'事實標準的存在,即各個編譯器總存在差異,所以或多或少存 在不相容。而且各個軟體平臺的C++啟動程式碼和硬體指令不同,編譯後的C++程式一般是不能跨平臺的。而java從孃胎裡出來就是為了跨平臺執行的,不採 用二進位制機器碼作為最終程式碼,所以在移植方面較好。

  3。C++的指標操作使得它不安全。

java沒有指標,而C++的指標越界或野指標是造成弄髒記憶體的重要原因。 但是事情總得一分為二,C++的指標也是其效率大大超過java的原因之一。 3。C++可以直接操作硬體,帶來了不安全。 java不提供硬體操作,而C++相容C,使得它繼承了其硬體操作功能, 是禍是福,各有說詞。有人說它帶來了不安全,也有人說它是所向披靡 的屠龍之器。

  4。C++的動態物件必須及時銷燬,否則可能會造成記憶體洩漏,而java免除了這個麻煩

java用垃圾收集器清楚不用的物件,而C++沒有相關機制,使得上下 文終物件的建立和銷燬不成對,就會造成記憶體洩漏。

  5。C++的在網站建設方面不如java“強”

因為C++應該沒有java在專案開發上來得快捷。之所以加引號,是因為 開發HTTP/1.0 java通常顯得更健壯。 物件控制代碼一定初始化為null 控制代碼會得到檢查,出錯則拋棄異常 陣列會檢查界限 提供多執行緒等。