首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

【C++第一课】-C到C++的升格

2013-09-14 
【C++第一课】---C到C++的升级C到C的升级:那么到底在哪些地方做了升级呢?1.所有变量都可以在使用的时候进行

【C++第一课】---C到C++的升级
C到C++的升级:
那么到底在哪些地方做了升级呢?


1.所有变量都可以在使用的时候进行定义,这个是C所不允许的;
C语言规定所有变量都必须在作用域开始进行定义.
例如:

const int i = 0;int *p = &i;*p = 5;printf("*p = %d \n", *p);printf("i  = %d \n", c);


上面输出值分别是什么呢?  可以上机测试.
稍作解释:
a.在C++中const修饰的才是真正意义上的常量,编译器会在符号表中记录i这个变量,当你下次使用到c的时
候,他会自动在符号表中取这个值,二而不管你的变量内存值是否改变.
b.如果编译器遇到对const常量使用了extern或者&操作符,那么则会给对应的常量分配空间.


然后,关于const常量和宏定义的区别
const常量是由编译器处理的,提供类型检查和作用域检查;
宏定义是由预处理器处理的,只做单纯的文本替换.


5.struct类型的加强
C语言中对struct并不认为是一种新的类型,C语言中也不可能产生新的类型
但是在C++中,struct会被解析成一种新的类型.


6.类型
C++中所有变量和函数都 "必须" 有类型
C语言中默认的类型是int,可以缺省.
可以看出C++更强调类型,所有元素以及函数返回值都必须显示的指明类型.

热点排行