一、C++中的 iostream 与 std 命名空间理解
1. 个人理解
通俗理解:类似于电脑中的文件分布。
iostream是 C++ 标准库中的一个头文件,用于提供输入输出相关功能。
std是 C++ 标准库中的命名空间(namespace),用于管理标准库中的各种名称。
可以简单理解为:
std(命名空间) │ ├── cout ├── cin ├── endl ├── string └── vectorstd类似于一个“文件夹”,给标准库中的函数、对象、类等起了一个统一的管理范围,避免不同名称之间发生冲突。
例如:
std::cout表示:
使用 C++ 标准库命名空间 std 中的 cout。
2. 官方理解
iostream是 C++ 标准库中的一个头文件,提供输入输出相关功能。std是 C++ 标准库规定的命名空间,用于管理标准库中的名称。cout、cin、endl等输入输出相关对象都属于std命名空间。- 通过
std::可以访问命名空间中的内容。
二、C++输出语句分析
代码:
#include <iostream> int main() { std::cout << "hello world" << std::endl; return 0; }运行结果:
hello world1.std::cout
std::cout表示:
C++标准库中的标准输出对象。
作用:
向控制台输出数据。
例如:
std::cout << 100;输出:
100注意:
cout不只是输出字符,也可以输出:
- 整数
- 小数
- 字符
- 字符串
- 变量等
例如:
int a = 10; std::cout << a;输出:
102.<<插入运算符
std::cout << "hello world";其中:
<<叫做:
插入运算符(Insertion Operator)
作用:
将右侧的数据传递给左侧的输出对象。
可以理解为:
"hello world" ↓ cout ↓ 屏幕显示3.std::endl
std::endl作用:
- 换行
- 刷新输出缓冲区
类似 C 语言中的:
printf("\n");例如:
std::cout << "hello" << std::endl; std::cout << "world";输出:
hello world三、C++基本数据类型
代码:
#include <iostream> int main() { // 定义变量 int a, b = 0; long c = 0; long long d = 0; double e = 0; float f = 0; // 输出变量值 std::cout << e << std::endl; return 0; }输出:
01. int 类型
int a;表示整数类型。
例如:
int age = 18;存储:
18常用于:
- 普通整数计算
- 循环变量
- 数组下标
2. long 类型
long c = 0;也是整数类型。
但是不同系统中占用空间可能不同。
在算法竞赛中通常不作为主要大整数类型。
3. long long 类型
long long d = 0;表示更大的整数。
通常占用:
8字节范围约:
-9×10^18 ~ 9×10^18蓝桥杯等算法竞赛中非常常用。
例如:
long long sum = 0;用于存储较大的累加结果。
4. float 类型
float f = 0;表示单精度浮点数。
用于存储小数:
例如:
float price = 3.14;特点:
- 占用空间较小
- 精度较低
5. double 类型
double e = 0;表示双精度浮点数。
相比 float:
- 精度更高
- 使用更加广泛
C++中进行小数计算时,一般优先使用:
double例如:
double pi = 3.1415926;四、变量初始化注意事项
例如:
int a, b = 0;很多初学者容易理解错误。
它等价于:
int a; int b = 0;表示:
| 变量 | 状态 |
|---|---|
| a | 未初始化 |
| b | 初始化为0 |
如果想让两个变量都初始化:
应该写:
int a = 0, b = 0;五、总结
本文主要学习:
iostream- C++标准库中的输入输出头文件
std- C++标准库中的命名空间
- 用于管理标准库中的名称
std::cout- 标准输出对象
<<- 插入运算符,将数据传递给输出对象
std::endl- 换行并刷新缓冲区
基本数据类型:
| 类型 | 作用 |
|---|---|
| int | 普通整数 |
| long | 较大整数 |
| long long | 超大整数 |
| float | 单精度小数 |
| double | 双精度小数 |