[lesson02]C到C++的升级

C到C++的升级

C与C++的关系

  • C++继承了所有的C特性
  • C++在C的基础上提供了更多的语法和特性
  • C++的设计目标是运行效率与开发效率的统一
    在这里插入图片描述

C到C++的升级

  • C++更强调语言的实用性

  • 所有的变量都可以在需要使用时再定义

    int c = 0;
    for (int i = 1; i <= 3; i++)
    {
        for(int j = 1; j <= 3; j++)
        {
            c += i * j;
        }
    }
    
    对比: C语言中的变量都必须在作用域开始的位置定义
  • register关键字请求编译器将局部变量存储于寄存器中

    • 在C++中依然支持register关键字
    • C++编译器有自己的优化方式
      • C语言中无法获取register变量的地址
      • C++中可以取得register变量的地址
  • C++中的register关键字
    C++编译器发现程序中需要取register变量的地址时,register对变量的声明变得无效
    早期C语言编译器不会对代码进行优化,因此register变量是一个很好的补充

  • 在C语言中,重复定义多个同名的全局变量是合法的

  • 在C++中,不允许定义多个同名的全局变量
    C语言中多个同名的全局变量最终会被链接到全局数据区的同一个地址空间

  • struct关键字的加强

    • C语言中的struct定义了一组变量的集合
    • C语言中struct定义的标识符并不是一种全新的类型
    • C++中的struct用于定义一个全新的类型
      在这里插入图片描述
  • C++中的所有标识符都必须显示的声明类型

  • C语言中默认类型在C++中是不合法的

  • 在C语言中

    • int f()表示返回值为int,接受任意参数的函数
    • f(void)表示返回值为int的无参函数
  • 在C++中

    • int f()和int f(void)具有相同的意义
      • 表示返回值为int的无参函数

小结

  • C++更强调实用性,可以在任意的地方声明变量
  • C++中的register只是一个兼容的作用
  • C++的编译器能够更好的进行优化
  • C++中的任意标识符都必须显示的指明类型

相关推荐

  1. [lesson01]学习C++意义

    2024-04-05 19:42:01       35 阅读
  2. lesson33】MySQL使用C/C++连接

    2024-04-05 19:42:01       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-05 19:42:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-05 19:42:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-05 19:42:01       87 阅读
  4. Python语言-面向对象

    2024-04-05 19:42:01       96 阅读

热门阅读

  1. MySQL面试题系列-6

    2024-04-05 19:42:01       31 阅读
  2. 【C++】每日一题 169 多数元素

    2024-04-05 19:42:01       32 阅读
  3. python之while循环

    2024-04-05 19:42:01       36 阅读
  4. leetcode:416.分割等和子集

    2024-04-05 19:42:01       37 阅读
  5. 软件开发与设计的哲学思想一

    2024-04-05 19:42:01       37 阅读
  6. 3.创建型模式--创建者模式

    2024-04-05 19:42:01       33 阅读
  7. mybatis报错无法update数据

    2024-04-05 19:42:01       38 阅读
  8. 前端和后端在软件开发中的两个重要部分

    2024-04-05 19:42:01       39 阅读
  9. 树状数组模板

    2024-04-05 19:42:01       43 阅读