• C++的特点


    C和C++

    C主要是应用在在驱动层,是面向过程的编程语言,对类型的定义不是很严格。C++主要是应用与应用层,是C语言的一个加强版,可以完全兼容C语言,并且还有很多C语言不具备的特性,如,C++是一种面向对象的编程语言,C++的设计目标是:运行效率和开发效率的统一

    • C++更加强调语言的实用性,可以在任意地方声明变量
    • C++中的register只是起到兼容性的作用
    • C++中的编译器能够更好的进行优化

    struct关键字的加强:

    C

    typedef struct _tag_student Student;

    struct _tag_student

    {

    const char* name;

    int age;

    }

    C++

    struct Student

    {

    const char* name;

    int age;

    };

    int f() 和int f(void)有什么区别

    注意:C++中的所有的表示符都必须显示的声明类型,不允许默认类型的出现,但是在C语言中可以

    C++中:

    • int f()和int f(void)表示的是相同的意思,指的是定义了一个返回值是int的无参数的函数

    C中: (在C中默认的参数类型和函数返回值类型都是int)

    • int f() 指的是定义了一个返回值为int 函数参数个数为任意多个的函数
    • int f(void) 指的是定义了一个返回值为int类型的无参数的函数

    C和C++中的const的分析:

    C

    • 修饰的变量是只读,本质还是变量
    • 修饰的局部变量在栈上分配空间
    • 修饰的全局变量在只读存储区分配空间
    • 只在编译期有用,其他时间没用
    • 注意:const修饰的变量不是真的常量,他只是告诉编译器该变量不能出现在赋值符号的左边

    C++

    • 当碰到const标识符时,在符号表中放入常量
    • 编译过程中若发现使用常量,则直接以符号表中的常量进行替换
    • 编译过程中若发现下述情况,则给对应常量分配内存空间
      • 对const常量使用了extern
      • 对const常量使用了&操作符
    • C++编译器虽然可能给const常量分配空间但是不会使用其存储空间中的值

    小结:

    • 与C语言不同,C++中的const不是只读变量
    • C++中的const是一个真正意义上的常量
    • C++编译器可能会为const常量分配空间
    • C++完全兼容C语言中const常量的语法特性
  • 相关阅读:
    二叉树前中后、层次遍历
    二叉查找树-插入、查找某个值节点、查找前驱或后继、删除
    查找算法-二分、插值、斐波那契
    8个排序算法
    split函数实现
    strlen、strcmp、strcat、strlen、memmove
    thinkphp5 404 file_put_contents 无法打开流:权限被拒绝
    小程序之旅——第六站(模板首页)
    小程序之旅——第五站(登陆)
    小程序之旅——第三站(数据库用户权限设计)
  • 原文地址:https://www.cnblogs.com/ryluo/p/10036860.html
Copyright © 2020-2023  润新知