我有几个IF语句,我希望尽可能地对其进行压缩,以便数组中每次出现数字1时,它都会向Ones INT加1。

if (Dice[1] == 1)
{
    Ones ++;
}

if (Dice[2] == 1)
{
    Ones ++;
}

if (Dice[3] == 1)
{
    Ones ++;
}

if (Dice[4] == 1)
{
    Ones ++;
}

if (Dice[5] == 1)
{
    Ones ++;
}

最佳答案

您正在按顺序计数1值,并且有一个standard library algorithm。它需要两个迭代器,在这种情况下,我给它提供了指针。

Ones += std::count(&Dice[1], &Dice[6], 1);

这做同样的事情,有些人可能更喜欢这种形式。
Ones += std::count(Dice + 1, Dice + 6, 1);

10-08 02:17