static关键字具体用法详解是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计758个文字,预计阅读时间需要4分钟。
static是C++中常见的函数和变量修饰符,主要用于控制变量的生命周期、作用域和存储方式。主要作用包括:
1.控制变量的生命周期:静态变量在程序运行期间只初始化一次,直到程序结束。
2.控制变量的作用域:静态变量在当前作用域内是唯一的,不会与其他作用域内的同名变量冲突。
3.控制变量的存储方式:静态变量存储在静态存储区,由栈或全局数据区管理。
具体来说:
1.静态变量存储区由栈变为静态存储区:
a. 存储方式:静态变量存储在静态存储区,由栈或全局数据区管理。 b. 生命周期:静态变量在程序运行期间只初始化一次,直到程序结束。2.静态变量的生命周期由局部变为全局:
a. 作用域:静态变量在当前作用域内是唯一的,不会与其他作用域内的同名变量冲突。 b. 生命周期:静态变量在程序运行期间只初始化一次,直到程序结束。static是常见的函数和变量(c++中类)的修饰符关键字,他主要用来控制变量的生命周期、作用域和储存方式。
1、修饰局部变量
a.储存区由栈变为静态变量区。
b.生命周期由局部变为全局。
c.作用域不变。
注意:static修饰的变量只执行初始化一次。
2、修饰全局变量
a.变量的储存区域在全局数据区的静态常量区。
b.变量的作用域由当前程序变为整个文件。
c.变量的生命周期不变。
3、修饰函数
a.函数的作用域由当前程序变为整个文件。
4、修饰类的成员变量
a.静态成员变量需在类中声明,在类外定义(const修饰除外)。
b.静态成员变量为所有类对象共享,并没有包含在具体的对象中。
c.静态成员变量的访问:类名::静态成员变量名 或 对象.静态成员变量名。
5、类的静态成员函数
a.静态成员函数没有this指针,不能访问非静态成员(变量、函数)。
b.静态成员函数不能调用非静态成员函数。而非静态成员函数可以调用静态成员函数。
本文共计758个文字,预计阅读时间需要4分钟。
static是C++中常见的函数和变量修饰符,主要用于控制变量的生命周期、作用域和存储方式。主要作用包括:
1.控制变量的生命周期:静态变量在程序运行期间只初始化一次,直到程序结束。
2.控制变量的作用域:静态变量在当前作用域内是唯一的,不会与其他作用域内的同名变量冲突。
3.控制变量的存储方式:静态变量存储在静态存储区,由栈或全局数据区管理。
具体来说:
1.静态变量存储区由栈变为静态存储区:
a. 存储方式:静态变量存储在静态存储区,由栈或全局数据区管理。 b. 生命周期:静态变量在程序运行期间只初始化一次,直到程序结束。2.静态变量的生命周期由局部变为全局:
a. 作用域:静态变量在当前作用域内是唯一的,不会与其他作用域内的同名变量冲突。 b. 生命周期:静态变量在程序运行期间只初始化一次,直到程序结束。static是常见的函数和变量(c++中类)的修饰符关键字,他主要用来控制变量的生命周期、作用域和储存方式。
1、修饰局部变量
a.储存区由栈变为静态变量区。
b.生命周期由局部变为全局。
c.作用域不变。
注意:static修饰的变量只执行初始化一次。
2、修饰全局变量
a.变量的储存区域在全局数据区的静态常量区。
b.变量的作用域由当前程序变为整个文件。
c.变量的生命周期不变。
3、修饰函数
a.函数的作用域由当前程序变为整个文件。
4、修饰类的成员变量
a.静态成员变量需在类中声明,在类外定义(const修饰除外)。
b.静态成员变量为所有类对象共享,并没有包含在具体的对象中。
c.静态成员变量的访问:类名::静态成员变量名 或 对象.静态成员变量名。
5、类的静态成员函数
a.静态成员函数没有this指针,不能访问非静态成员(变量、函数)。
b.静态成员函数不能调用非静态成员函数。而非静态成员函数可以调用静态成员函数。

