打印
[应用方案]

全局变量和局部变量重名

[复制链接]
318|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
janewood|  楼主 | 2023-8-20 12:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当局部变量和全局变量重名的时候,局部变量在其定义域的优先级更高,全局变量会自动被忽视,如果我们想要用到全局变量,我们可以在全局变量前加上::作用域运算符,因为C++里定义当缺省左侧对象时默认为全局变量

代码:

#include<iostream>

using namespace std;

int x=100;

int main(){

int x=10;

cout<<x<<endl;//输出为10

cout<<::x;//输出为100

}


使用特权

评论回复
沙发
cashrwood| | 2023-9-12 16:35 | 只看该作者
当全局变量和局部变量重名时,局部变量会隐藏(或覆盖)全局变量。在函数内部,如果存在与全局变量同名的局部变量,那么在函数内部使用该变量时,将使用局部变量的值而不是全局变量的值。

使用特权

评论回复
板凳
kkzz| | 2023-9-12 18:48 | 只看该作者
在编程中,全局变量和局部变量重名是指它们在名称上是相同的,但作用域不同。

使用特权

评论回复
地板
modesty3jonah| | 2023-9-12 19:03 | 只看该作者
全局变量是指在程序启动时定义的变量,可以在整个程序中访问。局部变量是指在函数内部定义的变量,只能在定义该函数的范围内访问。

使用特权

评论回复
5
ingramward| | 2023-9-12 20:17 | 只看该作者
全局变量是在整个程序中都可见和可用的变量,而局部变量是在特定函数或代码块中定义的变量。

使用特权

评论回复
6
robincotton| | 2023-9-12 21:40 | 只看该作者
在使用全局变量时,应该尽量避免与局部变量重名,以免造成混淆。

使用特权

评论回复
7
mnynt121| | 2023-9-13 16:08 | 只看该作者
如果需要在函数内部修改全局变量的值,可以使用 global 关键字来声明变量是全局的。

使用特权

评论回复
8
rosemoore| | 2023-9-13 18:40 | 只看该作者
在编写代码时,建议尽可能避免全局变量的使用,以减少代码的复杂性和出错率。

使用特权

评论回复
9
everyrobin| | 2023-9-17 10:07 | 只看该作者
全局变量的值在程序启动时就被初始化,而局部变量的值在函数内部定义时被初始化。 全局变量对所有函数和程序都可见,而局部变量只能在定义该函数的函数内部访问。

使用特权

评论回复
10
uptown| | 2023-9-17 11:05 | 只看该作者
当全局变量和局部变量重名时,局部变量会屏蔽全局变量,即在局部作用域内,只有局部变量存在,全局变量被忽略。

使用特权

评论回复
11
benjaminka| | 2023-9-17 11:13 | 只看该作者
尽量避免使用全局变量和局部变量重名

使用特权

评论回复
12
sesefadou| | 2023-9-17 15:09 | 只看该作者
在C语言中,全局变量和局部变量都可以重名。

使用特权

评论回复
13
lihuami| | 2023-9-17 16:15 | 只看该作者
当全局变量和局部变量重名时,在局部作用域内,局部变量将具有更高的优先级,并且将覆盖全局变量的值。

使用特权

评论回复
14
hudi008| | 2023-9-17 19:36 | 只看该作者
当函数返回时,局部变量被销毁,全局变量重新可见。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

1090

帖子

1

粉丝