从C到C++
两者比较
C++不允许全局变量重复定义,结构体定义变量,变量名就是一种数据类型不需要struct,函数定义函数时void和不写形参都表示无形参,且必须包含返回值类型,三目运算符能作左值(即其结果为变量),const定义变量就是常量,存在符号表中,类似于C里面的define,但其仅仅为局部变量,在函数中有效,define则为宏定义,全局可用,指针指向操作系统分派四个字节,内存中为其定义的常量,&定义时称为引用,一定要初始化,切不能用常量初始化引用,可用常量初始化常引用,也可用变量初始化常引用,引用就是常指针,典型常指针为数组,不能返回对局部变量的引用。
C中允许全局变量重复定义,函数可以不写返回值类型,函数形参不写表示接受任意个参数,void表示无形参常量不可做左值,三目运算符不能用作左值(即其结果为常量)。可用指针和取地址实现,参数个数不同,参数类型不同 参数顺序不同,以上三者都能构成重载。函数重载遇到默认参数时会有歧义,是被禁止的。
取值:未初始化全局变量1,局部变量为地址,register寄存器变量,方便计算,不能取地址
面向对象语言四大特征:抽象,封装,继承,多态(重载为静态多态)。
函数指针,
C++完全兼容C, 只要C++规则允许,用C 格式写的内容也可以通过编译。
占位参数和默认参数可结合使用。