相关疑难解决方法(0)

正确执行min

关于D的Tech-Talk中的时间0:43:15,讨论了min函数的实现.在一些算法中使用时,关于"稳定性"和"额外改组(如果值相等)"的关注被提出作为所示实现的原因之一.

任何人都可以提供真实/实际用例(或提供更详细的解释),其中min的这个特定实现是"稳定的"(又名更好),而不是其他可能的实现?或者这只是alpha-geeks走得太远的另一个例子?

推荐实施:

template <class LHS, class RHS, class Return>
inline Return min(LHS& lhs, RHS& rhs)
{
   return (rhs < lhs) ? rhs : lhs;
}
Run Code Online (Sandbox Code Playgroud)

其他可能的实施:

template <class LHS, class RHS, class Return>
inline Return min(LHS& lhs, RHS& rhs)
{
   return (lhs < rhs) ? lhs: rhs;
}
Run Code Online (Sandbox Code Playgroud)

提案N2199提供基于后者的实现,请注意该提案目前尚未成功.

与min/max相关的其他相关提议是N1840,N2485N2551

c++ theory min

17
推荐指数
1
解决办法
1973
查看次数

从最大函数返回 Stepanov 笔记

max() 模板根据 Stepanov 笔记有意返回

b<a?a:b
Run Code Online (Sandbox Code Playgroud)

代替

a<b?b:a
Run Code Online (Sandbox Code Playgroud)

确保即使两个值相等但不相等,函数也能正确运行 这里的解释很少,但仍然无法理解 http://stepanovpapers.com/notes.pdf(第 63 页)

当两个值相等但不相等时,我无法想到用例

c++

5
推荐指数
1
解决办法
361
查看次数

标签 统计

c++ ×2

min ×1

theory ×1