【发布时间】:2014-10-26 05:59:12
【问题描述】:
标准(或提升)是否提供了一种递增整数的方法,以确保它不会结转并从零开始,但将值保持在最大值?还是我只需要创建我自己的(这看起来确实是一个应该包含的小实用功能)。
template<typename T>
void Increment(T& x)
{
if(x != std::numeric_limits<T>::max()) ++x;
}
【问题讨论】:
-
这将是一个饱和增量。一个安全的增量会以某种方式表明结果溢出。
-
据我所知,在 C++ 标准或 boost 中没有类似的东西。