一、C++的输入与输出
在 C 语言时代,我们依赖 printf 和 scanf 完成 IO,手动指定格式符不仅繁琐,还容易因类型不匹配引发风险。C++ 引入了全新的 IO 库,以类型安全和可扩展的设计重构了输入输出体验。
1.1 核心载体:头文件
是 Input Output Stream 的缩写,定义了 cin、cout、endl 等标准 IO 对象,并封装了底层缓冲区管理和设备交互逻辑。开发者无需关心细节,只需关注高层接口。
注意: 在 Visual Studio 编译器中,<iostream> 可能会间接包含 <stdio.h>,导致可以混用 cin 与 scanf。但这并非跨平台标准行为,建议保持代码风格统一,避免混用。
1.2 核心 IO 对象:cin 与 cout
std::cin 标准输入流
std::cin 是 istream 类的对象,面向窄字符 (char) 类型。它从键盘或其他输入设备获取数据,通过流提取运算符 >> 读取。
#include <iostream>
int main() {
int age;
std::cout << "请输入你的年龄:";
std::cin >> age; // 从标准输入读取整数
std::cout << "你的年龄是:" << age << "岁" << std::endl;
return 0;
}
std::cout 标准输出流
std::cout 是 ostream 类的对象,同样面向窄字符。它通过流插入运算符 << 向屏幕写入数据,支持链式调用。
#include <iostream>
int main() {
std::cout << "Hello, C++ IO Stream!" << std::endl;
return 0;
}
1.3 流操作符:<< 与 >> 的双重身份
在 C 语言中,<< 和 >> 代表位运算(左移/右移)。C++ 通过运算符重载赋予了它们新角色:
- << : 流插入运算符,用于向输出流写入数据。


