if () else if ()
这是
伪码
void fun(int num, int offset = 0) {
if (0...60) {
// do something
} else if (60...180) {
// do something else
} else if (180...240) {
} else if (240...360) {
}
}
第一个if语句的工作方式如下:
if (0 >= num && num <= 20) {
// do something
}
这里的警告是除了
int num
,传入了另一个参数,我将其称为
offset
. 这里的代码结构,包括
do something
在
{ }
是一样的。唯一需要更改的是基于偏移值的范围。顺便说一下,这是
不
这里的一个默认参数,它只是一个伪代码,演示
int offset
被传了进来。
void fun(int num, int offset = 120) {
if (120...180) {
// do something
} else if (180...300) {
// do something else
} else if (300...360) {
} else if (360...120) {
}
}
最后一个
else if ()
} else if (360...120) {
}
} else if (num >= 360 || num <= 120) {
}
原因是我的
整数
0...120
.
这是一个数学应用。只要你有
整数
我不想写额外的函数。我希望我的代码是通用的,因为
整数
和
内部偏移量
内部偏移量
这里的主要问题是在第一种情况下
int offset = 0
} else if (240 >= num && num <= 360) {
}
但是,对于不同的偏移量,我们需要改变
整个情况
int offset = 120
,如上图所示:
}124360(如果{
&&
最后
否则如果()
,但现在我有了
||
操作员
只是有条件的内部陈述
char
string
,然后将完成的条件“粘贴”到
if ()
声明
在运行期间
!
更糟糕的是,这种“环绕”可以发生在任何一个
如果()
陈述,而不仅仅是最后一个。它基于
抵消
.
我不能使用预处理器技巧,因为我想让它在运行时工作。也许可以使用函数指针之类的,但我不知道怎么做。请注意
...
上面是
不
真实的
C++代码
,是的
! 我知道C++中有一个“基于范围的”转换语句,但是我不能使用它,因为上面提到的“环绕”属性。