C++初始标准库
- 标准函数库
- 这个库是由通用的、独立的、不属于任何类的函数组成的。函数库继承自C语言
- 标准库的分类
- 输入输出
- 字符串和字符处理
- 数学
- 时间、日期和本地化
- 动态分配
- 宽字符函数
- 面向对象类库
- 这个库是类及其相关函数的集合
- 面向对象类库
- 标准的C++ I/O类
- String类
- 数组类
- STL算法
- STL函数对象
- STL容器类
- STL迭代器
- STL分配器
- 本地化库
- 异常处理类
- 杂项支持库
标准库的简介
- C++标准库并不是C++语言的一部分
- C++标准库是由类库和函数库组成的集合
- C++标准库中定义的类和对象都位于std命名空间
- C++标准库的头文件都不带
.h后缀- C++标准库涵盖了C库的功能
C++编译环境的组成
- C++标准库
- C语言兼容库
- 编译器扩展器
- 编译模板
- C++标准库语法模板
- C++扩展语法模板
C++中的字符串类
C语言历史遗留问题
- C语言不支持真正意义上的字符串
- C语言用字符数组和一组函数实现字符串操作
- C语言不支持自定义类型,因此无法获得字符串类型
解决方案
- 从C到C++的进化过程引入了自定义类型
- 在C++中可以通过类完成字符串类型的定义
标准库中的字符串类
- C++语言直接支持C语言的所有概念
- C++语言中没有原生的字符串类型
- C++标准库提供了string类型
- string直接支持字符串连接
- string直接支持字符串的大小比较
- string直接支持子串查找和提取
- string直接支持字符串的插入和替换
字符串与数字的转换
- 标准库中提供了相关的类对字符串和数字进行转换
- 字符串流类(sstream)用于string的转换
- - 相关头文件
- istringstream - 字符串输入流
- ostringstream - 字符串输出流
使用方法
- string -> 数字
istringstream iss(123.45);
double num;
iss >> num;
- 数字 -> string
ostringstream oss;
oss << 533.213;
string s = oss.str();
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
#define TO_NUMBER(s,n) (istringstream(s) >> n)
#define TO_STRING(n) (((ostringstream&)(ostringstream()<<n)).str())
int main(int argc, char const *argv[])
{
double n;
if(TO_NUMBER("124.5",n))
{
cout << n << endl;
}
cout << TO_STRING(5.20) << endl;
return 0;
}
C++标准库包括通用函数库和面向对象类库,提供输入输出、字符串处理等功能。C++中的字符串类通过string类型解决C语言的遗留问题,支持连接、比较、查找、替换等操作,并可通过sstream类实现字符串与数字的转换。
2万+

被折叠的 条评论
为什么被折叠?



