一、变量定义的区域扩大
C语言中的变量都必须在作用域开始的位置定义;++中所有的变量都可以在需要使用时再定义
int i = 0;
cout << "i=" << i << endl;
int j = 2;
cout << "j=" << j << endl;
二、struct类型加强
C语言的struct定义了一组变量的集合,C编译器并不认为这是一种新的类型;C++中的struct是一个新类型的定义声明。C语言中struct中不能放函数,只能放函数指针;C++中能直接放函数(方法)。
struct student
{
int num;
char name[20];
void lenrning(void);
};
三、基本数据类型的加强
C++定义了另外两个基本数据类型: bool 和 wchar_t.
四、函数检测增强
在C语言中,重复定义多个同名的全局变量是合法的
在C++中,不允许定义多个同名的全局变量
C语言中多个同名的全局变量最终会被链接到全局数据区的同一个地址空间上
int g_var;
int g_var = 1;
C++直接拒绝这种二义性的做法。