相关疑难解决方法(0)

为什么要用"b <a?a:b"而不是"a <b?b:"实现最大模板?

C++模板 - 完整指南,第2版介绍了最大模板:

template<typename T>
T max (T a, T b)
{
  // if b < a then yield a else yield b
  return  b < a ? a : b;
}
Run Code Online (Sandbox Code Playgroud)

它解释了使用“b < a ? a : b”而不是“a < b ? b : a”:

请注意,根据[StepanovNotes]的max()模板有意返回"b <a?a:b"而不是"a <b?b:"确保即使两个值相等但不相等,函数也能正常运行.

怎么理解" even if the two values are equivalent but not equal."?“a < b ? b : a”对我来说似乎有相同的结果.

c++ templates

154
推荐指数
3
解决办法
1万
查看次数

标签 统计

c++ ×1

templates ×1