string和vector的基本接口函数
背景: 最近在做OJ,有的题会用到vector和string的接口,为了提高效率,将vector和string的接口都整理出来,本文只对接口进行描述,不做深入探讨。
string:
#include <string>
基本接口:
声明字符串:
1) string s; //生成一个空字符串s
2) string s(str) //拷贝构造函数 生成str的复制品
3) string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值
4) string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多strlen”的部分作为字符串的初值
5) string s(cstr) //将C字符串作为s的初值
6) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。
7) string s(num,c) //生成一个字符串,包含num个c字符
8) string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值
9) s.~string() //销毁所有字符,释放内存
字符串操作:
1) =,assign() //赋以新值
2) swap() //交换两个字符串的内容
3) +=,append(),push_back() //在尾部添加字符
4) insert() //插入字符
5) erase() //删除字符
6) clear() //删除全部字符
7) replace() //替换字符
10) size(),length() //返回字符数量
11) max_size() //返回字符的可能最大个数
12) empty() //判断字符串是否为空
13) capacity() //返回重新分配之前的字符容量
14) reserve() //保留一定量内存以容纳一定数量的字符
15) [ ], at() //存取单一字符
18) copy() //将某值赋值为一个C_string
19) c_str() //将内容以C_string返回
20) data() //将内容以字符数组形式返回
21) substr() //返回某个子字符串
vector:
#include <vector>
基本接口:
v.begin()//指向迭代器中第一个元素。
v.end()//指向迭代器中末端元素的下一个,指向一个不存在元素。
v.push_back(elem) //在尾部加入一个数据。
v.pop_back() //删除最后一个数据。
v.capacity() //vector可用空间的大小。
v.size() //返回容器中数据个数。
v.empty() //判断容器是否为空。
v.front() //传回第一个数据。
v.back() //传回最后一个数据,不检查这个数据是否存在。
v.at(index) //传回索引idx所指的数据,如果idx越界,抛出out_of_range。
v.clear() //移除容器中所有数据。
v.erase(iterator) //删除pos位置的数据,传回下一个数据的位置。
v.erase(begin, end) //删除[beg,end)区间的数据,传回下一个数据的位置。注意:begin和end为iterator
v.insert(position, elem) //在pos位置插入一个elem拷贝,传回新数据位置。
v.insert(position, n, elem) //在pos位置插入n个elem数据,无返回值。
v.insert(position, begin, end) //在pos位置插入在[beg,end)区间的数据,无返回值。
v.rbegin() //传回一个vector的最后一个数据的指针。
v.rend() // 传回一个vector的第一个数据前一个位置的指针。?
v.resize(num) //重新指定vector的长度。
v.resize(num, value) //重新指定vector的长度。并设定新增的元素的值
v.reserve() //设定capacity的值,如果小于原本的capacity的值则保持为原本的capacity的值。
推荐阅读
-
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
-
MySql存储过程中的基本函数和需要用到的运算符
-
C语言线性单链表相关函数和算法的基本实现详细教程
-
PHP函数addslashes和mysql_real_escape_string的区别
-
MS SQL Server的STRING_SPLIT和STRING_AGG函数
-
JavaScript中的回调函数的基本理解和实例介绍
-
java8 函数式编程入门 什么是函数式编程 函数接口概念 流和收集器基本概念
-
类String的构造函数、析构函数、拷贝构造函数和赋值函数
-
类string的构造函数、拷贝构造函数和析构函数
-
C++ vector::erase和无参构造函数的调用(代码教程)