C到C++几个不一样的地方记录
1) C中不允许在需要变量的地方随即定义,必须定义在开头,但C++允许
2)C语言中register关键字表示请求编译器将变量放到寄存器上,因此不能对register修饰的变量取地址,但是在C++里可以取地址,在旧版本的C++编译器中是这样处理的:当需要对register修饰的变量取地址时,编译器会使register无效,而新版的C++ 编译器中直接忽视register关键字,当成没有
3)在C语言中允许全局变量重名,但是C++中不允许全局变量重名
4)C++中加强了struct关键字的作用,struct Student将直接定义一个结构体类型Student,其实是一个特殊的类,这个类的成员和方法默认都是public的
5)C++不接受默认类型,在C语言中像f() f(i) 这样的函数定义是合法的,因为C中支持默认类型,上边两个函数定义其实对应 int f() 和 int f(int i),第一个返回值为int,接收任意个任意类型的参数,第二个返回值int,接收int类型的参数。但在C++中这两种写法均不合法。