我的代码如下:
if(a[i]==b[j])
{
vect1.push_back(i);
vect2.push_back(j);
}
如何在不使用c ++中的if else的情况下重写上述语句。
谢谢!!!
答案 0 :(得分:1)
如果你真的不能使用if
,可能会有一些比赛,当然有办法
尽管如此,即使它看起来没有分支,但编译代码中可能还有一个分支。
我认为它是混淆,但无论如何,这里是:
if(cond) {
expr1;
expr2;
}
可以写成:
(void)((cond) && (expr1,expr2,0));
不要使用它,除了可能在某些模糊的预处理器 - hackif之外没有别的事情可做,或者以后必须使用它的人(包括你)将会受到强烈的不满。