在C++中,std::stoll
函數用于將字符串轉換為長整型數值。當使用std::stoll
進行轉換時,如果字符串表示的數值超出了長整型的范圍,即溢出了,std::out_of_range
異常會被拋出。
例如,如果嘗試將一個超出long long
的范圍的字符串轉換為長整型數值,會拋出std::out_of_range
異常:
#include <iostream>
#include <string>
int main() {
std::string str = "12345678901234567890"; // 超出long long范圍
try {
long long num = std::stoll(str);
std::cout << "Number: " << num << std::endl;
} catch (const std::out_of_range& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
在上面的代碼中,由于字符串表示的數值超出了long long
的范圍,std::out_of_range
異常會被捕獲并輸出錯誤信息。因此,要注意在使用std::stoll
進行字符串轉換時,確保輸入的字符串在目標數據類型的范圍內。