【发布时间】:2016-08-29 16:44:27
【问题描述】:
有没有比
更好的方法来将变量设置为其限制之一varname = std::numeric_limits<decltype(varname)>::max();
尤其是在初始化时
int64_t varname = std::numeric_limits<decltype(varname)>::max();
我通常不想在此类表达式中使用该类型,因为如果类型更改,它很容易错过。
【问题讨论】:
-
我会安装一个变量模板:
template <typename T> constexpr T max_val = std::numeric_limits<T>::max();,然后使用auto v = max_val<int64_t>;。在 C++17 中,我会制作模板inline并将其粘贴在标题中。
标签: c++ coding-style numeric-limits