Sau*_*Rai 3 c++ embedded if-statement binary-operators
我有一个代码条件,例如以下
for(int i=0;i<Number;i++)
{
int* pIn = pInputArr[i];
int* pOut = pOutputArr[i];
for(int Input_number =0;Input_number<100;Input_number++)
{
Some_fun(pIn,pOut );
if (Input_number % 2 == 0)
{
pIn = pOutputArr[i];
pOut = pInputArr[i];
}
else
{
pOut = pOutputArr[i];
pIn = pInputArr[i];
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想用一种更有效的嵌入式编程方式来代替它,因为有人告诉我,嵌入式编程中的分支操作成本很高。有没有更简洁的方法来使用位操作而不使用 if 条件来实现这一点?也不使用任何内置功能,例如swap和其他。
基于奇数和偶数条件,我正在交换作为Some_func. 我在几个帖子中检查了类似的查询,但没有发现它们有用。任何建议将不胜感激。
如果你想交替,你不需要检查均匀度——只需交换。
for(int Input_number =0;Input_number<3;Input_number++)
{
Some_fun(pIn, pOut);
std::swap(pIn, pOut);
}
Run Code Online (Sandbox Code Playgroud)