Thu*_*che 2 c++ variables scope
#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;
}
Run Code Online (Sandbox Code Playgroud)
输出是:
30
10
我不明白为什么" ::d"给10?有人可以向我解释一下吗?
qeh*_*hgt 14
::d是指d从全局命名空间
编辑:有三个不同的变量具有相似的名称d.一个在全局命名空间中d=10,一个在mainfunction(20)的范围内,最后一个在main函数(30)的内部块内.
在每个块中,您可以访问(通过名称)相应的变量,并始终可以访问全局命名空间(by ::).
| 归档时间: |
|
| 查看次数: |
1298 次 |
| 最近记录: |