全局变量验证
Global variable validation?
我希望输出为 10但我得到 11根据我在调用 fun 函数时的知识,它应该需要全局变量。??
#include <iostream>
using namespace first;
int var = 0;
void fun()
{
cout << var;
}
int main()
{
var = 1;
cout << var;
fun();
}
您将"var"的值重新分配给 1,然后打印"var"两次。 这就是为什么你得到 11 作为输出。
你只声明var
一次。如果通过局部声明隐藏全局变量,则将使用局部变量。
例如,请参阅此 StackOverflow 帖子以获取有关阴影如何工作的信息。
int main()
{
int var=1;
cout<<var;
fun();
}
目前,您只是在修改全局,而不是创建一个范围为 main()
的新全局。
然后你的输出将是
10
将1
分配给var
后,您将打印 2 次相同的变量 - 请注意,您不是在创建 2 个不同的变量,而是在更改变量的值。
var=0则 var=1打印变量两次输出 11
相关文章:
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 当vector是tje全局变量时,c++中vector的内存管理
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 内联函数中具有内部链接的全局变量
- 如何在信号处理程序和普通函数中对全局变量进行互斥读写操作
- 全局变量 多读取器 一个写入器多线程安全?
- 如果全局变量默认是外部变量,为什么要添加"extern"关键字?
- 不同作用域中的静态变量和全局变量
- C++ 在编译时具有函数计算全局变量
- 修改程序的入口点时未调用全局变量的构造函数
- 使用 std::ios_base::Init 正确初始化全局变量
- 为什么我的全局变量似乎没有变化?
- C ++程序如何返回我的数组或写入全局变量
- 为什么我的数组值与此处的全局变量不匹配?
- QT C++中对全局变量的未定义引用
- 跨多个类的全局变量而不会出现重定义错误?
- 赋予全局变量而不是局部变量优先级的函数 - (异常行为)
- C++线程不检测全局变量更改
- 在 elf 文件中查找全局变量的位置
- 全局变量验证