C++ 变量初始化与计数器冲突
以下代码的目标是每16次变速箱执行一次程序: 代码中的cw是争用窗口的值(其技术知识在这里并不重要) 问题是我必须初始化Nt的值,否则代码将来可能会出错;但是我不能在代码中放入int Nt=0,因为它每次都会被执行,我需要Nt的值在每次运行上述代码后递增,以获得16的计数C++ 变量初始化与计数器冲突,c++,C++,以下代码的目标是每16次变速箱执行一次程序: 代码中的cw是争用窗口的值(其技术知识在这里并不重要) 问题是我必须初始化Nt的值,否则代码将来可能会出错;但是我不能在代码中放入int Nt=0,因为它每次都会被执行,我需要Nt的值在每次运行上述代码后递增,以获得16的计数 提前感谢。将Nt永久存放在其他地方。或者,这也有一些缺点,比如全局变量,使其在函数中保持静态。“问题是我必须初始化Nt的值,否则代码将来可能会出错;”-太晚了;这已经是一个错误。读取未初始化的变量是未定义的行为,其初始值是不确
提前感谢。将
Nt
永久存放在其他地方。或者,这也有一些缺点,比如全局变量,使其在函数中保持静态。“问题是我必须初始化Nt的值,否则代码将来可能会出错;”-太晚了;这已经是一个错误。读取未初始化的变量是未定义的行为,其初始值是不确定的。
int Nt;
Nt = (Nt + 1) % 16;
if (Nt == 0)
cw_ = cw * 16; // action once transmission count is 16
else
cw_ = cw;