[C++]语法增强

来源:互联网 发布:informix数据库端口 编辑:程序博客网 时间:2024/06/04 01:23
#include <iostream>

//语法增强
void n01()
{
//C语言中的变量都必须在作用域开始的位置定义!!
//C++中更强调语言的“实用性”,所有的变量都可以在需要使用时再定义。
int i = 0;
printf("aaa\n");
int k = 0;
}

void n02()
{
//register关键字的变化
//register关键字请求“编译器”将局部变量存储于寄存器中
//C语言中无法取得register变量地址
//在C++中依然支持register关键字
//C++编译器有自己的优化方式,不使用register也可能做优化
//C++中可以取得register变量的地址
register int i = 10;
printf("&i = %d\n", &i);
}

void n03()
{
/*
在C语言中,重复定义多个同名的全局变量是合法的
在C++中,不允许定义多个同名的全局变量
C语言中多个同名的全局变量最终会被链接到全局数据区的同一个地址空间上
int g_var;
int g_var = 1;
*/
}

struct st{
char name[10];
int age;
};

void n04()
{
//struct类型的加强:
//C语言的struct定义了一组变量的集合,C编译器并不认为这是一种新的类型
//C++中的struct是一个新类型的定义声明
st t = {"jlran", 22};
printf("%s %d\n", t.name, t.age);
}

void n05(){
//在C语言中
//int f(    );表示返回值为int,接受任意参数的函数
//int f(void);表示返回值为int的无参函数
//在C++中
//int f(  );和int f(void)具有相同的意义,都表示返回值为int的无参函数
}

int main()
{
n01();
n02();
n03();
n04();
getchar();
return 0;
}
0 0
原创粉丝点击