如何重新分配全局变量 c++

How to reassign Global variables c++

本文关键字:c++ 全局变量 分配 何重新      更新时间:2023-10-16

为什么我不能像在python中那样重新分配全局变量int x?但是如果我把它放在功能中就可以正常工作了?

#include<iostream>
using namespace std;
int x = 30;
x = 40;
int main() {
cout << x;
system("pause");
return 0;
};

谢谢我是 c++ 的新手

在 C++ 的全局范围内,您根本不分配变量。您只能初始化它们。语句x=40毫无意义,因为它没有定义何时进行赋值。

可能让您感到困惑的是,初始化C++变量的方法之一看起来很像赋值。 您可以分辨出区别,因为使用=进行初始化发生在声明的上下文中,因此类型名称位于变量名称之前。

如果全局变量未声明const,则可以为全局变量分配新值,但这必须在语句块--- 也就是说,在某种函数中发生。main将用于此示例。

#include<iostream>
using namespace std;
int x = 30; // this is static initialization 
int main()
{
cout << x <<  'n`;
x = 40; // this is an assignment
cout << "Now it's "  << x <<  'n';
cin.ignore(1);
return 0;
};