1.數據類型 - c++提供了新的數據類型:bool型
2.初始化方法 - c語言:int x = 1(復制初始化) - c++ : 除了復制初始化還有直接初始化:int x(1)
3.隨用隨定義 - c語言必須先最前面定義 - c++可以在中間隨用隨定義
4.輸入和輸出 - cin和sin - cout<<x<<endl; - cout<<"x+y="<<x+y<<endl; - endl其實就代表一個回車 - cin>>x; - cin>>x>>y; - 優點:不用關注占位符,不用關注數據類型
5.命名空間 - 關鍵字:namespace namespace A { int x=0; void f1(); void f2(); } namespace B { int x=2; void f1(); void f3(); } - 要想輸出A的x和B的f1則:
6.引用
int a=3;int &b=a;//引用必須初始化結構體類型的引用同理
指針類型的引用: 類型 *&指針引用名 = 指針;
引用作函數參數:
void fun(int &a, int &b){ int c=0; c = a; a = b; b = c; }int x = 10,y = 20;fun(x,y);//調用的時候直接寫x,y就能改變x,y的值不使用引用時:
void fun(int *a, int *b){ int c=0; c = *a; *a = *b; *b = c; }int x = 10,y = 20;fun(&x,&y);//改變x,y的值7.const
const與指針:
int x = 3;const int *p = &x;//p = &y; 正確//*p = 4; 錯誤int x = 3;int *const p = &x;//p = &y;是錯誤的const int x =3;const int *const p = &x;//p = &y;//*p = 4;//都是錯誤的const與引用:
int x = 3;const int &y = x;//x = 10;正確//y = 20;錯誤const int x = 3;int *y = &x;//錯誤,因為指針是可變的,而指針指向的x是不可變的,這樣我們就用一個權限大的去接受一個權限小的,有危險(可以通過改變指針的值來改變x,不可行)。int x = 3;const int *y = &x;//正確,用權限小的去接受權限大的宏定義也是定義常量,但是系統不檢查錯誤.
8.函數
參數默認值 最右邊的參數必須賦值
==
函數重載
==
內聯函數 inline
新聞熱點
疑難解答
圖片精選