nowayings 发表于 2015-3-29 09:37:16

刨根问底C、C++(1)---C++域操作符

【问题】下面的程序输出是?
#include <stdio.h>
#include <stdlib.h>
int value = 0;

void PrintValue()
{
    printf("value = %d\n",value);
}

int main()
{
    int value = 1;
    //value = 1;
    printf("value = %d\n",value);

    ::value = 2;
    PrintValue();

    system("pause");
    return 0;
}
【答案】
value = 1
value = 2

【分析】
main函数外面的是全局变量。main函数里面的是局部变量。main函数里面的局部变脸value引用优先。但是我们可以通过::域操作符号。直接屏蔽掉函数里面同名的全局变量。从而实现直接操作全局变量。但是不推荐这样的的做法。全局变量和局部变量同名

                                                                                                                                             永不止步nowayings
                                                                                                               


页: [1]
查看完整版本: 刨根问底C、C++(1)---C++域操作符