程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 淺談c和c++的某些小差別

淺談c和c++的某些小差別

編輯:關於C++

淺談c和c++的某些小差別。本站提示廣大學習愛好者:(淺談c和c++的某些小差別)文章只能為提供參考,不一定能成為您想要的結果。以下是淺談c和c++的某些小差別正文


C++類型檢討加倍嚴厲

c說話中,當字符當作函數參數傳入是,都把字符當整型int應用,sizeof('c') = sizeof(int); 更進一步,c編譯器把字符常量同等於整數常量處置: putchar(10) 同 putchar('\n') 等效。

然則,C++中, sizeof('c') == 1, 彌補解釋一點, sizeof(wchar_t) ==4。 是以可以很輕易代表65,536個分歧的Unicode字符。 別的,C++中,差別函數不只要看他的函數名,更要看它的參數。是以,putchar(10)挪用的是putchar(int)版本

,putchar('\n')挪用的是putchar(char)版本。

C++的函數原型檢討加倍嚴厲。如c中的函數界說: void func();表現函數func()存在,無前往值。該聲明不指定詳細有若干個情勢參數。然則在C++中,表現其不得無形式參數傳入!

main函數

C++中, main函數重要有兩種寫法: int main() 和 int main(int argc, char** argv);

main函數中的前往類型為 int, 不是void

若無顯示寫 return語句,默許前往0;

若寫了return語句,必需跟上某個整型值,如 return 1; 只寫 return; 是嚴重毛病的。

類型檢討

函數挪用時,原型必需嚴厲婚配。C說話中默許包括stdio.h,然則C++不默許包括,是以必需包括 cstdio 頭文件。C說話中某些編譯器友誼資助了stdio.h。

函數相干的分歧

函數重載

C++支撐函數重載。函數重載必需知足

a. 函數名雷同

b. 形參表分歧

c. 形參的屬性分歧 等於否 const

在編譯時,其實對重載函數,外部采取別的個名字表達,專業術語是"name mangling", 如 void show(int) --> VshowI, void show(char*)-->VshowCP, 如許的名字。

形參默許值

默許形參必需湧現在函數界說中,而不是在函數完成中。

代碼加倍優雅

單行正文, C++中多了單行正文 //

C++11 中的 NULL-pointers vs. 0-pointers and nullptr

C++中一切的零值都是0. 在C中,NULL在指針高低文中表現0,在C++中,應當防止應用NULL,固然它的宏界說就是0.

C++11引入了新的症結字nullptr表現零值指針,它只能賦給指針類型

C++中可使用C運轉庫中的函數,然則須要加上 extern "C" 這個前綴

在C89中,部分變量必需在函數或語句塊的肇端處界說!還在應用VC6.0的請留意了,為了你更好的代碼生活,擯棄它吧。 C99曾經支撐部分界說了,算是C的一年夜改良。 而C++可以在隨意率性處所界說部分變量。

C++中,構造體在界說變量時可以省略struct症結字

C++中,構造體中可以包括函數,即默許屬性是public的類

以上就是小編為年夜家帶來的淺談c和c++的某些小差別全體內容了,願望年夜家多多支撐~

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