C++98标准库的魔法书:实用函数与类的终极指南


<iostream> <string> <vector>
<list> <deque> <set>
<map> <algorithm> <cmath>
<fstream> <bitset> <exception>
<stdexcept> <locale> <numeric>
<functional> <iterator> <utility>
<ctime> <iomanip> <limits>
<random> <bit>

<iostream>

Or函数 原型 含义
cin istream& cin(istream& is); 从标准输入读取数据
cout ostream& cout(ostream& os); 向标准输出写入数据
cerr ostream& cerr(ostream& os); 向标准错误输出写入数据
istream 用于从输入流读取数据
ostream 用于向输出流写入数据
fstream 用于读写文件流
strstream 用于处理字符串流
stringstream 用于处理字符串流,提供了方便的字符串操作
wistream 用于从宽字符输入流读取数据
wostream 用于向宽字符输出流写入数据
wfstream 用于读写宽字符文件流
wstringstream 用于处理宽字符字符串流,提供了方便的宽字符字符串操作


<string>

Or函数 原型 含义
size() size_type size() const; 获取字符串长度
substr() string substr(size_type pos = 0, size_type len = npos) const; 获取字符串子串
find() size_type find(const string& str, size_type pos = 0) const;
size_type find(const char* s, size_type pos = 0) const;
size_type find(char c, size_type pos = 0) const;
查找子串或字符的位置
append() string& append(const string& str);
string& append(const char* s);
string& append(size_type n, char c);
向字符串追加内容
replace() string& replace(size_type pos, size_type len, const string& str);
string& replace(size_type pos, size_type len, const char* s);
string& replace(size_type pos, size_type len, size_type n, char c);
替换字符串中的子串或字符
erase() string& erase(size_type pos = 0, size_type len = npos); 删除字符串中的子串或字符
insert() string& insert(size_type pos, const string& str);
string& insert(size_type pos, const char* s);
string& insert(size_type pos, size_type n, char c);
在指定位置插入子串或字符
operator+ string operator+(const string& str);
string operator+(const char* s);
连接两个字符串
operator+= string& operator+=(const string& str);
string& operator+=(const char* s);
将字符串追加到当前字符串



<vector>

C++98标准库中,vector是一个动态数组类模板,用于存储同类型的元素集合。以下是vector库中一些常用函数和类的原型声明:

Or函数 原型 含义
push_back() void push_back(const value_type& val);
void push_back(value_type&& val);
向容器末尾添加元素
pop_back() void pop_back(); 删除容器末尾的元素
insert() iterator insert(iterator pos, const value_type& val);
iterator insert(iterator pos, value_type&& val);
在指定位置插入元素
erase() iterator erase(iterator pos);
iterator erase(iterator first, iterator last);
删除指定位置的元素
resize() void resize(size_type n);
void resize(size_type n, const value_type& val);
调整容器大小
clear() void clear(); 清空容器
swap() void swap (vector& other); 与另一个vector交换内容
resize() void resize (size_type n, const T& val = T()); 调整vector的大小为n个元素,并用指定值填充新元素
// 构造函数  
vector<T> () : vector() {
    }  // 默认构造函数  
vector<T> (size_type n) : vector(n) {
    }  // 大小为n的构造函数  
vector<T> (size_type n, const T& val) : vector(n, val) {
    }  // 大小为n,值为val的构造函数  
template <class InputIterator> vector (InputIterator first, InputIterator last) : vector (first, last - first) {
    } // 从迭代器范围构造的构造函数  
  
// 成员函数  
void push_back (const T& val);  // 向vector末尾添加一个元素  
void pop_back ();  // 删除vector末尾的元素  
void clear () ;  // 清空vector  
void resize (size_type n, const T& val = T());  // 调整vector的大小为n个元素,并用指定值填充新元素  
void insert (iterator pos, const T& val);  // 在指定位置插入一个元素  
void erase (iterator pos);  // 删除指定位置的元素  
void erase (iterator first, iterator last);  // 删除指定范围内的元素  
void swap (vector& other);  // 与另一个vector交换内容  
T& operator[] (size_type pos);  // 通过索引访问元素,读写操作都可以用  
T& at (size_type pos);  // 通过索引访问元素,但增加了越界检查,读写操作都可以用  
T* data ();  // 返回指向vector内部数据的指针
size_type:表示元素数量的类型。
difference_type:表示迭代器之间的差值的类型。
value_type:表示存储在vector中的元素类型。
iterator:指向vector中元素的迭代器类型。
const_iterator:指向const vector中元素的常量迭代器类型。
reverse_iterator:指向vector中元素的反向迭代器类型。
const_reverse_iterator:指向const vector中元素的常量反向迭代器类型。
allocator_type:表示分配器的类型。
pointer:指向元素的指针类型。
reference:指向元素的引用类型。
bool:表示是否为空的布尔类型。
size():返回vector中元素的数量。
capacity():返回vector的容量(即可以容纳的元素数量)。
empty():检查vector是否为空。
front():返回指向vector第一个元素的指针。
back():返回指向vector最后一个元素的指针。
data():返回指向vector内部数据的指针。



<list>

C++98标准库中,list是一个双向链表类模板,用于存储同类型的元素集合。以下是list库中一些常用函数和类的原型声明:

Or函数 原型 含义
push_back() void push_back(const T& val); 向list末尾添加一个元素
pop_back() void pop_back(); 删除list末尾的元素
clear() void clear () ; 清空list
resize() void resize (size_type n, const T& val = T()); 调整list的大小为n个元素,并用指定值填充新元素
insert() void insert (iterator pos, const T& val); 在指定位置插入一个元素
erase() void erase (iterator pos); 删除指定位置的元素
erase() void erase (iterator first, iterator last); 删除指定范围内的元素
swap() void swap(list& other); 与另一个list交换内容
T& operator[] (size_type pos); 通过索引访问元素,读写操作都可以用
// 构造函数  
list<T> () : list() {
    }  // 默认构造函数  
list<T> (size_type n) : list(n) {
    }  // 大小为n的构造函数  
list<T> (size_type n, const T& val) : list(n, val) {
    }  // 大小为n,值为val的构造函数
template <class InputIterator> list (InputIterator first, InputIterator last) : list (first, last - first) {
    } // 从迭代器范围构造的构造函数  
  
// 成员函数  
void push_back (const T& val);  // 向list末尾添加一个元素  
void pop_back ();  // 删除list末尾的元素  
void clear () ;  // 清空list  
void resize (size_type n, const T& val = T());  // 调整list的大小为n个元素,并用指定值填充新元素  
void insert (iterator pos, const T& val);  // 在指定位置插入一个元素  
void erase (iterator pos);  // 删除指定位置的元素  
void erase (iterator first, iterator last);  // 删除指定范围内的元素  
void swap (list& other);  // 与另一个list交换内容  

T& front();  // 返回指向list第一个元素的引用  
T& back();  // 返回指向list最后一个元素的引用  
const T& front() const;  // 返回指向list第一个元素的常量引用(const版本)  
const T& back() const;  // 返回指向list最后一个元素的常量引用(const版本)
T& at (size_type pos);  // 通过索引访问元素,读写操作都可以用  
T& operator[] (size_type pos);  // 通过索引访问元素,读写操作都可以用
// 迭代器函数  
iterator begin();  // 返回指向list第一个元素的迭代器  
iterator end();  // 返回指向list末尾的迭代器  
const_iterator begin() const;  // 返回指向list第一个元素的常量迭代器(const版本)  
const_iterator end() const;  // 返回指向list末尾的常量迭代器(const版本)  
reverse_iterator rbegin(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值