作为一名合格的C++开发工程师,不仅需要了解C++开发技术,同时还需要了解清楚C++与C语言的区别是什么。
在很大程度上,C++是C的超集,这意味着一个有效的C程序也是一个有效的C++程序。
C和C++的主要区别是,C++支持许多附加特性。但是,C++中有许多规则与C稍有不同。这些不同使得C程序作为C++程序编译时可能以不同的方式运行或根本不能运行。
1、函数原型
在C++中,函数原型必不可少,但是在C中是可选的。这一区别在声明一个函数时让函数名后面的圆括号为空,就可以看出来。在C中,空圆括号说明这是前置原型,但是在C++中则说明该函数没有参数。也就是说,在C++中,intslice();和intslice(void);相同。
在C中,编译器假定用户使用旧风格声明函数。在C++中,编译器假定slice()与slice(void)相同,且未声明slice(int,int)函数。
另外,C++允许用户声明多个同名函数,只要它们的参数列表不同即可。
2、char常量
C把char常量视为int类型,而C++将其视为char类型。
在C中,常量’A’被储存在int大小的内存块中,更精确地说,字符编码被储存为一个int类型的值。相同的数值也储存在变量ch中,但是在ch中该值只占内存的1字节。
在C++中,'A’和ch都占用1字节。它们的区别不会影响本书中的示例。但是,有些C程序