C++98 标准库
C++98 标准库提供了广泛的功能,以支持各种编程任务,包括容器、算法、输入/输出等。以下是 C++98 标准库的主要组成部分:
1. 标准模板库(STL)
-
容器:
- 序列容器:
std::vector,std::list,std::deque - 关联容器:
std::set,std::multiset,std::map,std::multimap - 无序容器:C++98 不支持无序容器,
unordered_set和unordered_map是 C++11 引入的。 - 适配器容器:
std::stack,std::queue,std::priority_queue
- 序列容器:
-
迭代器:
- 基本迭代器:
std::iterator - 迭代器类别:输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭代器
- 基本迭代器:
-
算法:
- 排序算法:
std::sort,std::stable_sort - 查找算法:
std::find,std::binary_search - 操作算法:
std::copy,std::transform,std::accumulate - 集合算法:
std::set_union,std::set_intersection
- 排序算法:
-
函数对象:
- 标准函数对象:
std::plus,std::minus,std::multiplies,std::divides,std::negate,std::equal_to,std::not_equal_to,std::less,std::greater
- 标准函数对象:
2. 输入/输出库
-
流类:
- 输入流:
std::istream,std::ifstream - 输出流:
std::ostream,std::ofstream - 文件流:
std::fstream - 字符串流:
std::stringstream,std::istringstream,std::ostringstream
- 输入流:
-
流缓冲区:
- 流缓冲区:
std::streambuf - 流输入缓冲区:
std::filebuf,std::stringbuf - 流输出缓冲区:
std::filebuf,std::stringbuf
- 流缓冲区:
-
格式化:
- 格式化库:
std::ios,std::iomanip,std::locale - 格式化操作:
std::setw,std::setprecision,std::fixed,std::scientific
- 格式化库:
3. 字符串类
std::string:支持动态大小的字符序列,包括字符串的基本操作,如拼接、查找、替换等。std::wstring:宽字符字符串,支持宽字符操作。
4. 时间和日期
<ctime>:- 时间函数:
std::time,std::localtime,std::gmtime,std::mktime - 时间戳:
std::clock,std::difftime,std::strftime
- 时间函数:
5. 数学库
-
<cmath>:- 数学函数:
std::abs,std::sqrt,std::pow,std::sin,std::cos,std::tan - 其他函数:
std::log,std::exp,std::ceil,std::floor
- 数学函数:
-
<complex>:支持复数运算,包括基本复数操作,如加法、减法、乘法、除法等。 -
<valarray>:提供了对数值数组的操作,包括基本的数组运算、数学函数和操作。
6. 异常处理
<exception>:- 异常类:
std::exception,std::logic_error,std::runtime_error,std::bad_alloc,std::bad_cast - 异常处理机制:
try,catch,throw
- 异常类:
7. 工具库
-
<utility>:- 标准工具函数:
std::swap,std::make_pair,std::pair
- 标准工具函数:
-
<functional>:- 函数对象:
std::function,std::bind1st,std::bind2nd
- 函数对象:
-
<locale>:- 本地化支持:
std::locale,std::ctype,std::num_get,std::num_put
- 本地化支持:
8. 内存管理
<memory>:- 智能指针:
std::auto_ptr(在 C++11 中被std::unique_ptr替代) - 内存管理工具:
std::allocator
- 智能指针:
总结
C++98 标准库为 C++ 语言提供了广泛的功能支持,涵盖了容器、算法、输入/输出、字符串处理、数学运算等领域。它为 C++ 的开发提供了丰富的工具和资源,使得程序员可以编写高效、可维护的代码。