C/C++静态static属性/用法

简介: C/C++静态static属性/用法

static

c语言静态属性:

1.静态全局变量,只能在当前文件使用

2.修饰全局变量时,局部变量只能被初始化一次

3.修饰函数时,只能在当前文件使用

4.静态变量会改变数据的生命周期(栈空间的数据改为数据段)

c++类中的静态成员

1.必须在类外初始化

2.类中的静态成员,不包含在静态空间中(静态成员存储在数据段中)

3.类中的静态成员可以通过 类名:变量名直接调用(静态成员不基于类)但变量一定要是共有的

4.类中所有对象公用静态成员(任何创建出的对象,对于static 变量是公用的)即在一个对象中修改了静态成员的值,其他对象中此静态成员的值也被修改。

c++类中静态函数成员:

1.不能使用this指针(不是对象空间中的函数)

2.类中的静态函数,不能访问类中的非静态成员函数,(非静态成员数据,要定对象后才产生空间,因为静态成员函数是先于对象存在的,所以静态成员函数就无法访问)

3.静态成员函数是先于对象存在的,所以我们是可以直接调用(要是共有的public)不需要创建对象也行。

目录
相关文章
|
2月前
|
存储 编译器 C语言
详解C/C++中的static和extern
本文详解了C/C++中`static`和`extern`关键字的用法和区别,通过具体代码示例说明了在不同情境下如何正确使用这两个关键字,以及`extern "C"`在C++中用于兼容C语言库的特殊作用。
详解C/C++中的static和extern
|
1月前
|
存储 编译器 C++
【C++】深入探索类和对象:初始化列表及其static成员与友元(一)
【C++】深入探索类和对象:初始化列表及其static成员与友元
|
1月前
|
C语言 C++
C 语言的关键字 static 和 C++ 的关键字 static 有什么区别
在C语言中,`static`关键字主要用于变量声明,使得该变量的作用域被限制在其被声明的函数内部,且在整个程序运行期间保留其值。而在C++中,除了继承了C的特性外,`static`还可以用于类成员,使该成员被所有类实例共享,同时在类外进行初始化。这使得C++中的`static`具有更广泛的应用场景,不仅限于控制变量的作用域和生存期。
53 10
|
1月前
|
存储 编译器 数据安全/隐私保护
【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解2
【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解
29 3
|
1月前
|
编译器 C++
【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解1
【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解
45 3
|
1月前
|
C++
【C++】深入探索类和对象:初始化列表及其static成员与友元(二)
【C++】深入探索类和对象:初始化列表及其static成员与友元
|
1月前
|
编译器 C++
【C++】深入探索类和对象:初始化列表及其static成员与友元(三)
【C++】深入探索类和对象:初始化列表及其static成员与友元
|
3月前
|
编译器 C++ 容器
【C++】String常见函数用法
【C++】String常见函数用法
|
2月前
|
C++
C/C++静态链接pthread库的坑【-static -pthread】
C/C++静态链接pthread库的坑【-static -pthread】
|
3月前
|
存储 程序员 编译器
c++学习笔记08 内存分区、new和delete的用法
C++内存管理的学习笔记08,介绍了内存分区的概念,包括代码区、全局区、堆区和栈区,以及如何在堆区使用`new`和`delete`进行内存分配和释放。
47 0