std::stoi 整数限制

std::stoi integer limit

本文关键字:stoi std 整数      更新时间:2023-10-16

我对传入std::stoi的整数字符串的限制感到困惑。整数是 32 位,我没记错吗?在有符号 32 位整数中,范围可以从 −2,147,483,648 到 2,147,483,647。我在其中输入了"300000000"(三亿),并抛出了一个超出范围的异常。它似乎强制执行 16 位限制。 另一方面,std::stol似乎有效。我一直在尝试找到一些说明这些功能限制的文档,但我似乎无法做到。

施加限制的不是函数,而是整型本身; 如果输入太大而无法容纳,则函数会引发异常。要查看任何整型的最大值和最小值,请使用 std::numeric_limits<the_type>::max()std::numeric_limits<the_type>::min()