Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我对传入的整数字符串的限制感到困惑std::stoi。整数是 32 位我没记错吗?在带符号的 32 位整数中,范围可以从 -2,147,483,648 到 2,147,483,647。我在其中输入了“300000000”(三亿)并抛出了超出范围的异常。似乎它强制执行 16 位限制。std::stol另一方面似乎有效。我一直在尝试找到一些说明这些功能限制的文档,但我似乎无法做到。
std::stoi
std::stol
施加限制的不是函数,而是整数类型本身;如果输入太大而无法容纳,则函数会引发异常。要查看任何整数类型的最大值和最小值,请使用std::numeric_limits<the_type>::max()和std::numeric_limits<the_type>::min()。
std::numeric_limits<the_type>::max()
std::numeric_limits<the_type>::min()