gpt4 book ai didi

c++ - "::' 变量'"指的是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:48 25 4
gpt4 key购买 nike

::i 在下面的程序中是什么意思?

#include<iostream>
using namespace std;
int i = 10;
int main(){
int i = 20;
{
int i = 30;
cout << i << ::i <<endl;
}
}

它输出“3010”。 "::i"似乎指的是全局声明。具体是什么意思?

最佳答案

它被称为合格名称查找。
它引用在全局范围内声明的变量i
简单地说,这意味着不要引用局部变量 i(如果有),而是在全局范围内引用 i

只要在局部作用域中有相同命名的变量,当引用变量名时,优先考虑局部作用域中的变量。这意味着在您的程序中,局部作用域 { } 中的 i 隐藏了所有其他名为 i 的变量,即那些(i=20 以及 i=10)。因此,要引用全局范围内的 i,您可以使用 :: 范围解析运算符。=

关于c++ - "::' 变量'"指的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7065637/

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