c++ - std::stoi 整数限制

标签 c++ c++11

我对传递到 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/

相关文章:

c++ - OpenGL glMultiDrawElements 在索引偏移 vector 上崩溃

c++ - STL 算法和 const_iterators

c++ - 如何从重载解析中删除函数?

c++ - std::forward 和引用折叠的工作

c++ - std::regex_match 和具有奇怪行为的惰性量词

C++ 在不释放内存的情况下调用析构函数

c++ - 寻找多数元素的摩尔投票算法

c++ - Clang 3.7.0 提示类不是文字,因为它不是聚合并且没有 constexpr 构造函数

c++ - 如何使 SFINAE 使用模板特化?

c++ - MurmurHash3可以分多个部分对数据 block 进行哈希处理吗?