我需要帮助在C++中尽可能压缩此 IF 语句
I need help compressing this IF statment down as much as possible in C++
我有几个 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
值,并且有一个标准的库算法。它需要两个迭代器,在这种情况下我给它指针。
Ones += std::count(&Dice[1], &Dice[6], 1);
这做同样的事情,有些人可能更喜欢这种形式。
Ones += std::count(Dice + 1, Dice + 6, 1);
像这样:
for (int i = 1; i < 6; ++i) if (Dice[i] == 1) Ones++;
或者,如果您更喜欢节省几个字符的不那么简洁的方法:
for (int i = 1; i < 6; ++i) Ones += (Dice[i] == 1);
似乎也符合您的需求。
这有什么用吗?
for (int i = 1; i < 6; i++)
{
if(Dice[i]==1)
Ones++;
}
相关文章:
- C++中高效的大型稀疏块压缩线性方程
- 嵌入方指针压缩已禁用
- C++使用整数的压缩数组初始化对象
- 在C++中将函数压缩为两种方式
- 在c++中检查长方体是否尽可能快地重叠(无迭代)
- 在C++中使用LZ4压缩目录
- 使用C++进行运行长度解压缩
- 为什么大多数 pair 实现默认不使用压缩(空基优化)?
- 捕获标准输出以压缩并使用 CTRL-C 中断会给出损坏的 zip 文件
- C++ 如何将数组值解压缩为函数参数
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- 在 Qt(C++) 中使用 QProcess 解压缩 - 提取目录问题
- 浏览压缩文件与游览解压缩它们
- 直接 2D 呈现到命令列表和打印:图片压缩
- 如何在 OpenCV c++ 中压缩 TIFF 格式的图像?
- 我应该尽可能避免递归吗?
- 如何在C++向量中解压缩多个值
- 解压缩 C 样式数组以及C++中的参数包
- 用于 progmem 的C++和头文件压缩的 Web 文件字节数组
- 我需要帮助在C++中尽可能压缩此 IF 语句