21xrx.com
2025-03-28 15:28:25 Friday
文章检索 我的文章 写文章
C++中静态代码块的使用和实现
2023-07-06 21:36:09 深夜i     39     0
C++ 静态代码块 使用 实现

C++中的静态代码块是一种特殊的代码块,它在程序编译时就会被执行,而不是在程序运行时才被执行。静态代码块一般用于进行一些全局的初始化操作,例如初始化全局变量或者进行某些系统级别的初始化工作。

在C++中定义静态代码块的语法形式如下:

class MyClass {
  static
    // 静态代码块中的代码
  
};

在静态代码块中可以进行的操作和普通代码块中的操作是一样的,例如可以定义变量、初始化对象、打开文件等等。静态代码块中定义的变量和方法都是静态的,即它们可以直接通过类名进行访问。

下面是一个简单的示例程序,演示了如何在C++中使用静态代码块:

#include <iostream>
class MyClass {
public:
  MyClass()
    std::cout << "Constructor called." << std::endl;
  
  static
    std::cout << "Static block called." << std::endl;
    static_var = 10;
  
  static int static_var;
};
int MyClass::static_var = 0;
int main()
  std::cout << "Main function called." << std::endl;
  std::cout << "Static var = " << MyClass::static_var << std::endl;
  return 0;

在这个程序中,定义了一个类MyClass,其中包含一个静态代码块和一个静态变量static_var。在静态代码块中,我们对静态变量static_var进行了初始化,并输出了一句调试信息。在main函数中,我们通过类名MyClass来访问静态变量static_var,并输出了该变量的值。

当我们编译并执行这个程序时,输出的结果如下:

Static block called.
Constructor called.
Main function called.
Static var = 10

可以看出,静态代码块中的代码在程序编译时就被执行了,而普通成员函数和构造函数则会在程序运行时被调用。

  
  

评论区