函数内声明的静态变量的值是多少?

时间:2016-08-02 04:08:27

标签: c++ function static

在函数内声明一个静态整数变量。调用函数时,变量递增1。该函数被调用并返回3次。第三个函数调用的变量值是什么,返回时的值是多少?

2 个答案:

答案 0 :(得分:0)

当我们将类的成员声明为static时,意味着无论创建了多少个类的对象,都只有一个静态成员的副本。静态成员由类的所有对象共享。

所以如果它的值以0开始,它将返回3

答案 1 :(得分:0)

int foo() {
   static int x = 0;
   x++;
   return x;
}

关键字static用于将变量的生命周期延长到程序的生命周期;例如初始化只发生一次,然后变量保留其值 - 无论它是什么 - 将来所有对foo()的调用。