变量类型global,static,local和auto

时间:2014-02-11 06:14:48

标签: c++ c function variables

我想开发一个想要跟踪的系统 事件在系统中频繁发生。我可以通过电话来做到这一点 一个函数,递增前一个值 事件发生计数器,并打印其值然后返回。至 实现这一点,我需要一个可以保持其价值的变量 函数返回后,以便在下次调用函数时 计数器的先前值可以增加1 上。

根据您的意见,我们应该使用哪种类型的变量, 全局,静态还是自动?用有效的论据支持你的答案。

1 个答案:

答案 0 :(得分:1)

Local和Auto相同,第四种类型是寄存器不是本地的。您不能使用auto,因为每次调用都会重新定义其变量。

全局或静态,取决于您的设计需求。如果要在其他文件中使用该变量,请将其设置为全局。

int count; // outside the function calls 

如果你希望它的范围是该函数的局部范围,并且每次发生事件时都会增加它,使其在函数内部是静态的

static int count = 0; 
// variable is defined only once subsequent calls to it wont redefine it  

如果您希望整个文件访问它而不是外部世界,您可以将其设置为全局和静态。

 static int count = 0; // outside of any function calls.