c++ - 每次调用方法时增加变量

标签 c++ loops variables increment

我有这个方法:

void Session::onNewImage(cv::Mat& img, double elapsedTime){
    static int count = 0;
    add(img, dnnOutput[count++], curLati, curLongi, curAlti, curHeading, curRoll);
}

它已被调用 1400 次。每次增加“计数”的值。但是当它到达 1401 时,我希望“计数”变为 0 ,然后在那里再次增加形式。我不希望“计数”成为全局变量。我怎样才能做到这一点?

附言我不能将它硬编码为 1400。每次都可能不同。还有另一种方法决定调用此方法的次数,具体取决于作为该方法输入的图像数量。

最佳答案

应该这样做:

void Session::onNewImage(cv::Mat& img, double elapsedTime){
    static int count = 0;

    if (count >= getYourCountLimitFromSomewhere())
        count = 0;

    add(img, dnnOutput[count++], curLati, curLongi, curAlti, curHeading, curRoll);
}

请注意,正如@Aconcagua 在评论中指出的那样,count 与阈值的比较是通过 > 还是 >=取决于 getYourCountLimitFromSomewhere() 返回值的含义。

关于c++ - 每次调用方法时增加变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51890216/

相关文章:

ruby-on-rails - 如何在 Ruby 中更简洁地表达这段代码

file - 如何使用循环从 .txt 文件中删除行?

javascript - 为什么用 'this' 填充的 JavaScript var 会随着 'this' 的变化而变化?

css - 在 LESS CSS 中将变量从一个 mixin 传递到另一个 mixin

c++ - 只通过一次if语句

c++ - Google Mock 单元测试静态方法 c++

c++ - 我的列表控件需要一个 while 循环

javascript - 关于JavaScript中的forEach和break/return的问题

javascript - 如何获取函数内部创建的变量?

c++ - 如何确保 popen()ed 进程在退出时运行析构函数?