提问者:小点点

在一对中寻找其他元素


在C++中,给定两个值a,b使得a<=b,x等于a或b,如何有效地得到另一个值y(如果a==b,最终等于x)?


共1个答案

匿名用户

如果你认为代码必须是写出来的,必须是正确的,必须是被阅读和理解的,那么效率在很大程度上就是不太担心效率。

给定两个值a,b,使得a<=b

 int a = 0;
 int b = 42;

而x等于a或b,如何有效地得到另一个值y(如果a==b,最终等于x)?

 int y;
 if (x == a) y = b;
 else        y = a;

对于这样一个相当简单的模式,我希望它很难击败编译器,使它比编译器更有效。但是,如果您有可以工作的代码,您应该对其进行分析,看看这个操作是否构成了应用程序中的瓶颈。