变量初始化与计数器冲突

时间:2013-04-25 18:54:54

标签: c++

以下代码的目标是每16次传输执行一次过程: 代码中的cw是争用窗口的值(其技术知识在这里并不重要)

int Nt;
Nt = (Nt + 1) % 16;
if (Nt == 0) 
cw_ = cw * 16;  // action once transmission count is 16
 else
    cw_ = cw;   

问题是我必须初始化Nt的值,否则代码可能会变得容易出现未来的错误;但是我不能在代码中加上 int Nt = 0 ,因为它每次都会被执行,我需要在每次运行上面的代码之后递增Nt的值以获得16的计数。 / p>

提前致谢。

1 个答案:

答案 0 :(得分:2)

Nt永久存储在其他地方。或者,但这有诸如全局变量之类的缺点,使其在函数内保持静态。