gpt4 book ai didi

c++ - 变量名前的"::"c++

转载 作者:太空狗 更新时间:2023-10-29 23:28:34 24 4
gpt4 key购买 nike

#include <iostream>

using namespace std;

int d = 10;

int main()
{
int d = 20;

{
int d = 30;
cout << d << endl << ::d; // what does it mean?
}

return 0;
}

输出是:

30
10

我不明白为什么“::d”给出 10?有人可以给我解释一下吗?

最佳答案

::d 表示来自全局命名空间的 d

编辑:存在三个具有相似名称d 的不同变量。一个在全局命名空间 d=10 中,一个在 main 函数范围内 (20),最后一个在内部 block 内主函数(30)。

在每个 block 中,您可以(通过名称)访问相应的变量并且始终可以访问全局命名空间(通过::)。

关于c++ - 变量名前的"::"c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10183185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com