std::stoi 整数限制
std::stoi integer limit
我对传入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()
。
相关文章:
- std::stoi 的版本拒绝任何非数字
- std::stoi 只转换前几个字符
- 我一直得到'std::invalid_argument'什么():似乎无缘无故地抛出 stoi 异常?
- 我想使用 std::stoi 函数在 cpp 中将字符串转换为整数,因为我想在字符串中找到不同数字的总和(在下级酶中)
- 在抛出 'std::invalid_argument' 的实例后终止调用 what(): stoi (找不到问题所在)
- "terminate called after throwing an instance of std::invalid_argument' what(): stoi ?"
- std::stoi 的基本参数
- 在抛出 'std::invalid_argument' 的实例后调用终止 what(): stoi 错误 in leet
- 如何修复 std::stoi 中的"std::invalid_argument"
- get radix from std::stoi
- std::stoi 会导致段错误
- 寻求与类型为 std::invalid_argument 的未捕获异常相关的运行时错误的建议: stoi:无转换
- C++ - 通过读取文件来创建对象,但流入流不会在文件末尾停止。'std::invalid_argument what() stoi'
- std::stoi 是如何实现的?
- libstdc++ 没有实现 std::stoi 吗?
- 相关功能家族的通用功能(例如std :: stoi,std :: stof,std :: stod等)
- "stoi"没有在此范围内声明,即使添加 -std=c++0x 和自定义函数,仍然适用
- 如何创建一个 std::function 作为方法参数,并将 std::stoi 作为默认值
- std::stoi, std::setbase, and an std::out_of_range error
- std::stoi 超出范围.从文件转换