1. 程式人生 > >18)C++對C的增強

18)C++對C的增強

%d c++ ++ 值類型 style 分享圖片 del nbsp 枚舉

  1. 在C++中所有的變量都必須有類型,但是在C語言中沒有這個要求,C語言中的默認類型在C++中不合法,
     1 #include<stdio.h>
     2 f()
     3 {
     4     return 10;
     5 }
     6 int main()
     7 {
     8     int a=f();
     9     printf("%d\n",a);
    10     return 0;
    11 
    12 }
    13 
    14 //上面的代碼,在C語言中是可以的,因為函數的默認參數和返回值是int  但是在C++中,就不行。在C++中沒有默認的參數和返回值類型。

  2. 而且 我在我的C語言代碼中,傳參數時,還可以這樣(關鍵看我的那個f函數傳參)
     1 #include<stdio.h>
     2 f()
     3 {
     4     return 10;
     5 }
     6 int main()
     7 {
     8     int a=f(10,20);//看,我的函數定義沒有參數,但是我在調用時加了參數,居然可以運行
     9     printf("%d\n",a);
    10     return 0;
    11 
    12 }

    技術分享圖片

  3. 新增了bool類型的關鍵子

    1. 技術分享圖片
    2. 三目運算符的加強:
      1.  在C語言中 只能作為右值,不能作為左值,除非是指針
        1 a<b?a:b=50
        2 //上面的就報錯
        3 
        4 //下面的就可以
        5 *(a>b?&a:&b) =50
      2. 但是在C++中,三目運算符可以作為左值
        1 (a>b?a:b)=50
        2 //上面的代碼在C語言中報錯,但是在C++中不會報錯
        這個為啥在C++中不報錯,是因為返回的是那個變量a的引用

         

   4. const加強

  1. 技術分享圖片

  5.枚舉的加強

      --反正有變化,但是具體總結,先不總結了

  

18)C++對C的增強