#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 的缩写),专门用于格式化控制台输出 / 输入的样式,比如设置小数位数、对齐方式、补零等。

相关推荐
Xin_ye100863 小时前
C# 零基础到精通教程 - 第十一章:LINQ——语言集成查询
开发语言·c#
欧米欧3 小时前
C++进阶数据结构之搜索二叉树
开发语言·数据结构·c++
wyu729613 小时前
SpringBoot学习记录,一个小项目实战
java
Xin_ye100863 小时前
C# 零基础到精通教程 - 第十章:集合与泛型——高效管理数据
开发语言·c#
名字都不重要何况昵称3 小时前
canvas 元素拾取
前端·canvas
从文处安3 小时前
「前端何去何从」React Router:让单页应用有多页的体验
前端·react.js
Lkstar4 小时前
Vue Router 进阶:导航守卫、动态路由与懒加载,源码级理解
前端
ricardo19734 小时前
# Tree Shaking 深度解析:为什么你的代码没被摇掉?
前端·面试
小江的记录本4 小时前
【Java基础】反射与注解:核心原理、自定义注解、注解解析方式(附《思维导图》+《面试高频考点清单》)
java·数据结构·python·mysql·spring·面试·maven
前端流一4 小时前
踩坑实录:Vite打包AntD5报错 rc-picker/es/generate/dayjs 模块找不到
前端