我想知道是否有一种方法可以编写一个接受一个输入的函数,循环次数的最大计数,如果数字是负数则会执行无限循环,而不使用if-else
即
void func(int nAttempts) // if nAttempts <= 0, do an infinite loop
{
if ( nAttempts <= 0 )
{ // do an infinite loop
}
else
{ // do a loop up to nAttemtps
}
}
Run Code Online (Sandbox Code Playgroud)
如果没有if-else,我想知道是否有办法做到这一点
while ((nAttempts < 0) || (nAttempts-- > 0)) {...}
但为什么?这使得您的代码可读性降低,其中if/ else非常清楚您的意图是什么.
我认为这是一个棘手的问题?这是我的看法:
void f(int n)
{
n < 0 ? []{ while(true); }() : [&]{ while(n--); }() ;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
526 次 |
| 最近记录: |