1

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

4

1 回答 1

3

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

于 2013-01-24T17:45:09.277 回答