码迷,mamicode.com
首页 > 编程语言 > 详细

18)C++对C的增强

时间:2018-01-02 21:22:08      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:枚举   nbsp   pre   include   函数传参   bool   turn   没有   报错   

  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的增强

标签:枚举   nbsp   pre   include   函数传参   bool   turn   没有   报错   

原文地址:https://www.cnblogs.com/xiaoyoucai/p/8178845.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!