gpt4 book ai didi

c++ - 我忘了这个叫什么了?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:13:08 24 4
gpt4 key购买 nike

好的,我有了这段代码,我知道这不是好的编程习惯。我只是忘了它叫什么。

int main()
{
int variable;
{
int variable;
}
}

那是本地 namespace 还是什么?我只是不记得做这样的事情的正确术语。

最佳答案

{ ... } 是一个 block 复合语句,它创建一个嵌套的作用域。 (它不是命名空间。)

这种特殊情况下,内部作用域中的声明与外部作用域中的声明同名(因此隐藏)有时称为阴影

g++ 可以对此发出警告。引用 the manual :

`-Wshadow'
Warn whenever a local variable or type declaration shadows another
variable, parameter, type, or class member (in C++), or whenever a
built-in function is shadowed. Note that in C++, the compiler will
not warn if a local variable shadows a struct/class/enum, but will
warn if it shadows an explicit typedef.

(正如 Adam Rosenfield 在评论中指出的那样,-Wshadow 未被 -Wall-Wextra 启用-pedantic;您必须明确启用它。)

关于c++ - 我忘了这个叫什么了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18880611/

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