#include<limits>#include <string>#include <sstream>#include <iomanip>

#include<limits>:

  • <limits> 是 C++ 用于获取数值类型取值范围 的核心头文件,核心工具是 std::numeric_limits<T> 模板类;
  • 最常用的成员是 min()(最小值 / 最小正数值)、max()(最大值),以及用于输入流清理的 std::numeric_limits<std::streamsize>::max()

#include <string>:

提供 C++ 标准的 std::string 类(代码中的 string inputStr 就是用这个类),以及字符串的各种操作(比如判断空字符串 inputStr.empty())。

如果你不包含这个头文件,编译器不认识 string 类型,会报 "未定义标识符'string'" 的错误

#include <sstream>:

提供 std::stringstream 类,实现 "字符串 ↔ 数值" 的双向转换。

  • stringToInt 函数核心是 stringstream ss(str); ss >> num,如果不包含这个头文件,编译器不认识 stringstream 类型;
  • 这个头文件是实现 "校验输入是否为纯整数" 的关键(比如区分 "2024" 和 "2024a")。

#include <iomanip>:

**<iomanip>**是 C++ 的 "输入 / 输出流格式控制" 头文件(i/o manipulators 的缩写),专门用于格式化控制台输出 / 输入的样式,比如设置小数位数、对齐方式、补零等。

相关推荐
leobertlan3 小时前
痛苦系列 | DSP-03 跨越单位圆:Z变换与零极点分析
算法·程序员
软件技术NINI3 小时前
美妆商城html+Css+js 4页
javascript·css·html
蛋蛋的就会顺顺的3 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
程序员Sunday3 小时前
TypeScript 的 any、unknown、never 有什么区别?
前端·面试·typescript
朱涛的自习室4 小时前
70 美金的 Beyond Compare,我让 Gemini 4 和 DeepSeek 造个开源免费版(Day 2)
android·前端·人工智能
需要8264 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
开发小能手1234 小时前
答案daanC语言
数据结构·算法
小 黄 鸡4 小时前
HashMap 面试必会知识点详解(JDK 8)
java·面试·职场和发展
码艺-Alimjan4 小时前
Tauri 源码备份 · 打包 & 解压 总结,源码收集之路
前端·javascript·vue.js
小马不起床4 小时前
零基础玩转 FastAPI_11:前端后台管理页面
前端·状态模式·fastapi