C 到C++的升级

时间:2024-10-02 23:35:33

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

C语言中的变量都必须在作用域开始的位置定义。

register 关键字请求编译器将局部变量存储于寄存器中

在C语言无法获取register 变量的地址

在C++中可以取得 register 变量的地址  C++编译器有自己的优化方式,所以几乎不用register

在C语言中,重复定义多个同名的全局变量是合法的 而C++不允许。

struct 关键字的加强

-C语言当中的struct 定义了一组变量的集合

-C语言中strut 定义的标识符并不是一种新的类型

-C++中的struct 用于定义一个全新的类型

C语言需要typedef 来定义struct的新类型,而C++不需要。

C++中所有的标识符都必须显示的声明类型

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

int  f() 与 int f(void) 有区别吗?

在C语言中

  -int  f()表示返回值为int,接受任意参数的函数

  -f(void) 表示返回值为int的无参函数

在C++中

  -int f()和 int f(void)具有相同的意义

    表示返回值为int的无参函数