静态变量在多线程编程中如何实现线程安全?
- 内容介绍
- 文章标签
- 相关推荐
本文共计515个文字,预计阅读时间需要3分钟。
static是C++中常见的函数和变量修饰符,主要用于控制变量的生命周期、作用域和存储方式。主要用途包括:
1. 控制变量的生命周期、作用域和存储方式。
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.静态成员函数不能调用非静态成员函数。而非静态成员函数可以调用静态成员函数。
本文共计515个文字,预计阅读时间需要3分钟。
static是C++中常见的函数和变量修饰符,主要用于控制变量的生命周期、作用域和存储方式。主要用途包括:
1. 控制变量的生命周期、作用域和存储方式。
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.静态成员函数不能调用非静态成员函数。而非静态成员函数可以调用静态成员函数。

