C 语言为面向过程的编程语言,C++ 是面向对象的编程语言,有些人也称 C++ 为“带类的 C”。C++ 兼容 C 语言的大部分特性,除了一些次要的例外,C++ 是 C 的一个超级。大部分差异的根源是 C++ 更多的强调了类型检查。下面总结一下 C/C++ 之间非面向对象部分的微小差异。
1. 类型
在C语言中,字符常量和枚举符的大小都是
sizeof(int)
,而在C++里,sizeof('a')
大小等于sizeof(char)
,且 C++ 实现可以自己为枚举选择最合适的大小。C++规定:如果某个枚举中所有枚举符的值均为非负,该枚举的表示范围为 [0:2k−1] ;如果存在负的枚举符值,该枚举的取值范围就是 [−