• 18)C++对C的增强


    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
      ",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
      ",a);
      10     return 0;
      11 
      12 }

       3. 新增了bool类型的关键子

      1. 三目运算符的加强:
        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加强

      5.枚举的加强

          --反正有变化,但是具体总结,先不总结了

      

  • 相关阅读:
    06-ajax发送请求-上传时注意事项
    02-git hooks是什么玩意?跟husky什么关系?
    SpringBoot配置热部署
    稀疏数组
    移动web开发——flex布局
    网站推荐
    ArrayList中的contains方法
    Java对象相等判断
    逻辑与(&)、短路与(&&)、逻辑或(|)、短路或(||)
    CentOS6.5下设置静态IP
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/8178845.html
Copyright © 2020-2023  润新知