【发布时间】:2019-03-03 06:52:43
【问题描述】:
我依稀记得我在某个地方看到过关于此的讨论,但我现在找不到; "non-const min max c++" 和类似的变体没有给出相关结果。
为什么 C++ 标准库不包含 std::min 的以下非常量重载(std:max 也是如此)?
template <typename T>
T& min(T& a, T& b);
它有时会很有用,例如如果我想增加较低的数字:
std::min(x, y) += 1;
这种过载会导致什么问题吗?
【问题讨论】:
-
如果它们都具有相同的值,则更新哪一个?
-
第一个,根据 std::min 的标准行为,参见en.cppreference.com/w/cpp/algorithm/min。 “返回:a 和 b 中较小的一个。如果值相等,则返回 a。”
标签: c++