这两个项目中哪一个更好,为什么?

-4 c++

代码1

int A, B, MAX;
cout << "Give two numbers:" << endl;
cin >> A >> B;

if (A > B)
{ 
  MAX = A;
}
else 
{
  MAX = B;
}
cout << "Largest amongst given numbers is: ";
cout << MAX << endl;
return 0;
Run Code Online (Sandbox Code Playgroud)

代码2

int A, B, MAX;
cout << "Give two numbers:" << endl;
cin >> A >> B;

MAX = A;
if (B > MAX)
{
  MAX = B;
}
cout << "Largest amongst given numbers is: ";
cout << MAX << endl;
return 0;
Run Code Online (Sandbox Code Playgroud)

在上面的程序逻辑中,哪一个是最好的,为什么?它们之间有什么区别吗?这是我的考试问题,我想问堆栈溢出,以了解最佳意见.

kar*_*doc 5

MAX = std::max(A, B);
Run Code Online (Sandbox Code Playgroud)

在清晰度方面优于两者.

就速度而言,编译器应该能够优化这些方法中的任何一个; 但我再次赞成,std::max因为我很快就会相信编译器优化标准函数而不是任意组成的代码来执行相同的任务.