21xrx.com
2024-12-22 22:03:39 Sunday
登录
文章检索 我的文章 写文章
C++中的静态变量和静态函数
2023-06-30 07:51:58 深夜i     --     --
C++ 静态变量 静态函数

在C++中,静态变量和静态函数是一种特殊的变量和函数。相对于一般变量和函数,静态变量和静态函数拥有一些独特的特点和用法。

1. 静态变量

静态变量属于类,而不是某个对象,它的空间在程序运行期间一直存在,不在类的对象中分配空间。在多个对象共用同一个静态变量时,一旦静态变量被修改,所有这些对象都会受到影响。

声明一个静态变量的方法是在类的定义中,使用关键字static修饰:

class MyClass

public:

  static int num;

;

定义静态变量时需要在类外部进行初始化:

int MyClass::num = 0;

在程序中,可以通过类名和作用域运算符访问该静态变量:

MyClass::num = 10;

2. 静态函数

静态函数同样属于类,它没有this指针,与对象无关。静态函数只能访问静态数据成员和静态成员函数。

声明静态函数的方法是在函数名前加上关键字static:

class MyClass{

public:

  static void func();

};

定义静态函数的方法也与普通函数一样,但需要在函数名前再加上一个类限定符:

void MyClass::func()

  // do something

在程序中,可以通过类名和作用域运算符调用静态函数:

MyClass::func();

需要注意的是,静态函数不需要通过对象来调用,也不会有this指针,所以静态函数不能访问非静态变量和成员函数。

总结

静态变量和静态函数是C++中的一种特殊变量和函数,其与一般变量和函数有许多不同之处。静态变量和静态函数的最大特点是不属于某个对象,而是只属于类本身;静态变量和静态函数可以通过类名和作用域运算符访问和调用。在实际程序中,静态变量和静态函数的应用广泛,比如静态计数器、静态状态变量等。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复