我对传递到 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()
.
关于c++ - std::stoi 整数限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14506985/