每次调用方法时递增变量

时间:2018-08-17 07:18:14

标签: 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时,我希望“ count”变为0,然后再次从那里递增形式。我不希望“ count”成为全局变量。我该如何实现?

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

1 个答案:

答案 0 :(得分:2)

这应该做到:

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与阈值进行比较是通过>还是通过>=取决于{{1} }返回值。