std :: stoi整数限制

时间:2013-01-24 17:16:25

标签: c++ c++11

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

1 个答案:

答案 0 :(得分:2)

不是强加限制的功能,而是整体类型本身;如果输入太大而不适合,函数会抛出异常。要查看任何整数类型的最大值和最小值,请使用std::numeric_limits<the_type>::max()std::numeric_limits<the_type>::min()