std::numeric_limits<unsigned int>::max() 如何工作



我最近才知道:

在您的系统上获取数字类型的最大可能值的正确方法是使用std::numeric_limits。特别是,我们可以使用std::numeric_limits<unsigned int>::max()等。

在阅读std::numeric_limits的文档时,我发现std::numeric_limits是一个类模板。我的问题是:std::numeric_limits如何找到类型/系统相关的最大/最小值?我是说,这个类模板是如何实现的?

在某些情况下,我看到cppreference有一个标记为"可能实现"的部分。但是,在std::numeric_limits的情况下,没有这样的部分。

我知道它会因平台而异,但我只是想看看一个可能的情况,以了解它是如何工作的,如果有一种方法可以手动找到给定类型/系统的最大值/最小值。

std::numeric_limits如何找到类型/系统相关的最大/最小值?我是说,这个类模板是如何实现的?

没有"发现"。std::numeric_limits只是针对不同的类型进行了不同的实例化。在c++标准库的GNU实现中,查看int的实例化。

实例化值在目标平台上是有效的。

最新更新