这个for循环的作用是什么,可以用不同的方式写出来吗?

时间:2016-02-15 23:35:20

标签: c++ for-loop

我刚刚在一个我感兴趣的软件项目中找到了这段代码,我不太明白这个for循环正在做什么:

for (; *szMask; ++szMask, ++pData, ++bMask)

这是使用过的变量的定义:

const BYTE* pData, const BYTE* bMask, const char* szMask

请你解释一下这个循环的作用,以及是否有其他方法可以用相同的结果写这个for循环?

1 个答案:

答案 0 :(得分:1)

for (; *szMask; ++szMask, ++pData, ++bMask)
{
    /* other stuff */
}

相当于:

while(*szMask)
{
    /* other stuff */
    ++szMask, ++pData, ++bMask;
}

相当于:

while(*szMask)
{
    /* other stuff */
    ++szMask;
    ++pData;
    ++bMask;
}

这可以从你的问题中推断出来,所以希望你能弄清楚这个while循环的作用。