时间:2021-05-19
C++中,全局变量只能声明、初始化,而不能赋值
也就是说,下面这样是不被允许的:
#include <cstdio>using namespace std;int a;a = 2;int main() { return 0;}错误提示是:
C++ requires a type specifier for all declarations
声明、初始化与赋值的区别:
声明:int a;
初始化:int a = 2;(在声明的时候顺带赋值叫做初始化)
赋值:a = 2;
只有定义(int a;)才分配存储空间,初始化必须要有存储空间来初始化
全局变量在声明时候顺带赋值(也就是初始化)是可以的,但是如果先声明,不赋值,之后再赋值的话,程序是执行不到这里的,也无法通过编译。
以上这篇解决C++全局变量只能初始化不能赋值的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C语言可执行代码结构名称内容代码段可执行代码、字符串常量数据段已初始化全局变量、已初始化全局静态变量、局部静态变量、常量数据BSS段未初始化全局变量,未初始化全
Ruby全局变量全局变量以$开头。未初始化的全局变量的值为nil,在使用-w选项后,会产生警告。给全局变量赋值会改变全局状态,所以不建议使用全局变量。下面的实例
C内存分配区域程序代码区存放函数体的二进制代码全局数据区全局变量和静态变量的存储是放在一起的。初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化
1.只能在构造函数初始化列表初始化的成员变量的类型?a.const成员变量b.引用类型的成员变量c.static不能在初始化列表中进行初始化d.类成员变
C++类中变量也可以是引用哈------要用初始化列表来初始化(因为C++引用一旦绑定,就无法更换,有点类似const)#includeusingnamespa