<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(