一、C++域操作符
首先看下面的这一段代码
#include <stdio.h>
int value = 0;
void printvalue()
{
printf("value = %d\n", value);
}
int main()
{
int value = 0;
value = 1;
printf("value = %d\n", value);
::value = 2;
printvalue();
return 0;
}
如果我们直接编译,编译器会报错,因为这是一个c文件,在c语言中还没有域操作符(::),但是只要我们改变了头文件。写成c++文件,然后编译就可以正常输出了。输出的结果是
value = 1
value = 2
本题的主要考点就是:
1、域操作符,域操作符是c++才加上的。
2、变量的作用域。
第一个value是全局变量,它的作用域是整个程序,然后又在main函数中定义了一个value,这是一个局部变量,这个变量会屏蔽同名的全局变量。所以在main函数里打印的就是value = 1。如果我们想用全局变量的value, 我们就得用域操作符来访问全局变量的value。
二、i++和++i的区别
i++ : 先使用i的值,i