1.在C++中,所有的变量都可以在使用时进行定义,这个与C语言中的变量需在使用前进行定义有所区别,下面用一个简单的C++代码来说明这个问题;
#include<iostream>
using namespace std;
int main()
{
for(int i=0;i<100;i++)
{
cout<<"i的值为:"<<i<<endl;
}
return 0;
}
2.**C++拒绝二义性的做法:
A.在C语言中,重复定义多个同名的全局变量是合法的(C语言中多个同名的全局变量最终会被链接到全局数据区的同一个地址空间上)**,而在C++中进行了升级,拒绝这种二义性;
3.struct 关键字的加强:
1)在C语言中struct只是定义了一个变量的合集,C**语言中struct定义的标识符并不是一种新的类型;
2)在C++中,struct重新定义了一种新的类型;
面试题:
int f()和int f(void)有区别吗?
它们有没有区别,具体看用什么编译器!!!
C++中,所有的标识符都必须显示的声明类型
在C语言中:
int f()表示返回值为int,接受任意多个参数的函数。
f(void)表示f返回值为int的无参函数,不接受任何参数。
在C++中:(C++对类型的检查非常严格,不允许默认类型)
int f()和int f(void)具有相同的意义,不接受任何参数,表示返回值为int的无参函数
C++更加强调类型,任意的程序元素都必须显示指明类型。