C++整理笔记分析.doc

C整理笔记分析

1.C++对C的扩展 1.1类型增强 1.1.1类型检查更严格 C语言中可以把一个const指针赋给一个非const类型的指针。const int a=100;int *p=a;*p=200;不仅编译能通过,而且还可以修改值。 上述那个例子C++中编译就不能通过,除非是const int *p=a;因为C++对类型更严格要求,分析:a是const int 型的,对a取地址,变成const int *型的了。 1.1.2新增布尔类型 C语言中是真假或者用0和非0表示,C++的逻辑有了具体的类型 1.1.3枚举增强 C语言中枚举的本质就是整型,可以用任意整型去复制,C++中是真正的枚举,枚举里面有什么你只能从这里面选,而不能自己去赋值。 1.1.4变量检测性增强 例如C语言中多个同名的全局变量最终会被链接到全局数据区的同一个地址空间上 int g_var; int g_var = 1; 而C++拒绝这样二义性的做法。 1.1.5其他 1.C++中所有的变量和函数都必须有类型,C语言中的默认类型在C++中是不合法的,函数f的返回值是什么类型,参数又是什么类型?函数g可以接受多少个参数? 2.比如三目运算符中,?:,C语言中表达式的返回值是变量的值,不能作为左值,在C++中表达式返回的是变量的本身。当左值的条件:要有内存空间;C++编译器帮助程序员取了一个地址而已。 思考:如何让C中的三目

文档评论(0)

1亿VIP精品文档

相关文档