标签:
C++更强调语言实用性
1、所有变量都可以在需要使用时再定义
i
int c = 0; for(int i=1; i<=3; i++) { for(int j=1; j<=3; j++) { c += i * j; } }
2、register关键字请求编译器将局部变量存储到寄存器中
-在C++中依然支持register关键字
-C++编译器有自己的优化方式
C语言中无法获取register变量的地址
C++中可以取得register变量的地址
C++中的register关键字
C++编译器发现程序中需要取register变量的地址时,register对变量的声明变得无效。
早期C语言编译器不会对代码进行优化,因此register变量是一个很好的补充
3、在C语言中,重复定义多个同名变量的全局变量是合法的,C语言中多个同名全局变量最终会被链接到全局数据区的同一个地址空间上。
在C++中,不允许定义多个同名的全局变量
4、struct关键字的加强
-C语言中struct定义了一组变量的集合
-C语言中struct定义的标识符并不是一种新的类型
-C++中的struct用于定义一个全新的类型
5、void f() 和 void f(void)有什么不同?
C++中所有的标识符都必须显示的声明类型
C语言中的默认类型在C++中是不合法的
在C语言中:
int f()表示返回值为int,接受任意参数的函数
f(void)表示返回值为int的无参函数
在C++中
int f()和 int f(void)具有相同意义
表示返回值为int的无参函数
标签:
原文地址:http://www.cnblogs.com/yr-linux/p/5516058.html