C++中,类里面定义的静态数据变量,它与全局变量的区分和联系? 我怎么感觉他俩很像啊!!!

如题所述

其实静态变量跟全局变量差不多,都不是在类里面定义的,必须在类外定义。但是类里面的静态变量,调用是必须加上类名修饰,否则不能知道那个静态变量属于哪个域

class A
{
public:
static int a;
};

int A::a = 100; // 类外定义,必须加上A::修饰
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-17
“静态变量”就是在本函数内有效··且在函数结束的时候,不会释放内存,也就是他的值不会改变··
所谓的“全局变量”就是这个变量在整个程序中有效··使用的时候··不需要再去重新定义··
第2个回答  2012-11-17
不一样;
在类外或者类的成员函数外用静态数据变量时,你必须说明它是属于哪个类的;
而且静态数据变量只能在类外赋值。
第3个回答  2012-11-24
静态变量必须类外初始化
必须 类名::变量名 = 初始值;
除此之外没有差别
第4个回答  2012-11-17
全局变量定义过就不能改变它的值了,
静态的值可以改变,而且改变是全局性的

请问C++语言里静态变量和全局变量有什么区别?谢谢
1. 全局变量的作用域是整个项目,它只需要在一个源文件中定义就可以作用于所有的源文件,其它不包括全局变量定义的文件需要用extern关键字再次声明这个全局变量。2. 全局变量、静态全局变量、静态局部变量都是在静态存储区(全局数据区)中分配空间的,而局部变量是在栈上分配空间的。3. 全局变量、静态...

静态变量和全局变量有什么区别?
1>全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern关键字再次声明这个全局变量。2>静态局部变量具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,它和全局变量的区别在于全局变量对...

C++中; 静态变量与动态变量有什么区别啊? 作用是什么?
C++中变量存储方式有三种,自动存储,静态存储,动态存储 自动存储简单意义上就是在函数内不用任何关键字直接定义的变量,它在函数被调用时被创建,在函数退出时自动消失,静态存储顾名思义就是在程序的整个运行过程中都存在,在函数体外定义的变量自动为静态存储方式,也可以在函数内使用static关键字定义 ...

[C++]一文让我理解全局变量,局部变量和静态变量的用法
理解这三种变量的关键在于掌握作用域概念。作用域指的是变量在代码中有效的区域。C++中作用域有五种类型。作用域的划分分为函数作用域与块作用域。局部变量局限于某一作用域内,其生命周期与该作用域一致,不贯穿整个文件。全局变量在整个程序内均可访问,其生命周期与程序寿命相同。引入静态变量的目的在于...

C++ 全局变量和全局静态变量有什么区别呢
C++ 全局变量和全局静态变量的根本区别还是作用域的区别。1、全局变量是不显示用static修饰的全局变量,但全局变量默认是静态的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern 全局变量名的声明,就可以使用全局变量;2、全局静态变量是显示用static修饰的全局变量,作用域是...

C++ 全局变量和全局静态变量有什么区别?
1. 全局变量的作用域是整个项目,它只需要在一个源文件中定义就可以作用于所有的源文件,其它不包括全局变量定义的文件需要用extern关键字再次声明这个全局变量。2. 全局变量、静态全局变量、静态局部变量都是在静态存储区(全局数据区)中分配空间的,而局部变量是在栈上分配空间的。3. 全局变量、静态...

c++全局\/静态存储区和常量存储区是一样的吗
未初始化的全局变量与静态变量在相邻的另一块区域,同时未被初始化的对象存储区可以通过 void* 来访问和操纵,程序结束后由系统自行释放),在 C++ 里面没有这个区分了,他们共同占用同一块内存区。常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改 ...

C++类中静态成员的理解
在C++编程中,静态成员的使用能够显著简化程序设计。静态成员分为静态成员变量和静态成员函数。静态成员变量与静态成员函数的定义与使用方式各有特点,同时它们的使用场景也有所差异。静态成员的共享特性使得它们在单例模式设计等场景中发挥关键作用。静态成员变量在编译阶段就被分配内存,独立于对象存在。这表示...

请用自己的话解释全局变量与局部变量的区别,静态变量与自动变量的区别...
全部变量就是在整个工程工都可以调用。比如我在一个标准模块中定义了一个全局变量,那么我无论是在窗体1还是窗体2还是其他地方都可以调用它。而局部变量就不行,比如我在某个窗体定义了一个变量,那么这个变量我就只能在这个窗体中使用。 静态变量,就是当我执行完一个过程后,它的值保存下来了。下次...

c++静态局部变量和静态函数
通常的想法是定义一个全局变量来实现。但是这样一来,变量已经不再属于函数本身了,不再仅受函数的控制,给程序的维护带来不便。静态局部变量正好可以解决这个问题。静态局部变量保存在全局数据区,而不是保存在栈中,每次的值保持到下一次调用,直到下次赋新值。该变量在全局数据区内分配内存;静态局部变量...

相似回答
大家正在搜