21xrx.com
2024-09-20 05:49:44 Friday
登录
文章检索 我的文章 写文章
C++中的静态局部变量
2023-07-04 22:54:27 深夜i     --     --
C++ 静态局部变量 存储类别

C++中的静态局部变量是指在一个函数体内声明的变量,在程序首次执行该函数时被初始化,然后在函数调用结束后并不会被销毁,而是一直存在于内存中,直到程序结束。

静态局部变量的作用是跨多次函数调用,保留该变量的值,如下示例所示:


#include <iostream>

void function() {

 static int count = 0;

 count++;

 std::cout << "The count is " << count << std::endl;

}

int main() {

 function();

 function();

 function();

 return 0;

}

输出结果:


The count is 1

The count is 2

The count is 3

在上面的示例中,函数`function()`中声明的变量`count`是静态局部变量。每次调用该函数时,`count`的值都会自增1,并保留该值。因此,第一次调用`function()`时`count`的值为1,第二次调用时为2,以此类推。

除了保留变量的值外,静态局部变量还可以用于控制代码执行顺序。由于静态局部变量只会初始化一次,因此可以用于检查程序执行次数。如下示例:


#include <iostream>

void function() {

 static int count = 0;

 if (count == 0)

  std::cout << "This is the first time the function is called." << std::endl;

 

 count++;

}

int main() {

 function();

 function();

 function();

 return 0;

}

输出结果:


This is the first time the function is called.

在上面的示例中,由于`count`是静态局部变量,因此只会初始化一次。因此,第一次调用`function()`时,`count`的值为0,触发了条件语句输出语句;之后的调用中,由于`count`已经被加一,不满足条件语句的条件,因此输出语句不会再次执行。

总之,静态局部变量在C++中具有很多用途,常见的包括控制代码执行顺序、保存函数的上下文等。掌握静态局部变量的用法有助于编写出更加灵活高效的C++代码。

  
  

评论区

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