什么::我在下面的程序中是什么意思?
#include<iostream>
using namespace std;
int i = 10;
int main(){
int i = 20;
{
int i = 30;
cout << i << ::i <<endl;
}
}
Run Code Online (Sandbox Code Playgroud)
它输出"3010".":: i"似乎指的是全球宣言.这究竟是什么意思?
它被称为限定名称查找.
它引用了i在全局范围内声明的变量.
简单来说,它意味着不引用局部变量(i如果有的话),而是引用i全局范围.
每当在本地范围内具有相同的命名变量时,在引用变量名时,首选项将赋予本地范围中的变量.这意味着在您的程序中,i本地范围内部{ }隐藏了所有其他变量,i即名称(i=20以及i=10).因此,要引用i全局范围内的范围,请使用::范围解析运算符.=
| 归档时间: |
|
| 查看次数: |
254 次 |
| 最近记录: |