C++实用函数CheatSheet

C++实用函数CheatSheet

搜索

Name用于容器类的搜索等
std::find查找单一元素, 只能对顺序容器使用(vector/list),无法对关联容器使用(unordered_map)
std::find_if带if后缀的一般最后一个参数都是谓词
std::string::find容器类的成员函数,可用于查找是否存在特定的子字符串问题
std::search (c++17)查找一个子序列,std::search(vec.begin(). vec.end(), std::default_searcher(target.begin(), target.end()))

可用于搜索容器中的特定元素,字符串子串的index等

移除

Name
std::remove返回值是一个new end,通常需要再将new end后面的元素erase掉,如果操作对象是一个vector,那么推荐erase之后shrink_to_fit()
std::remove_if

擦除

Name
std::erase擦除元素
std::erase_if
std::vector::erase容器类的成员函数

std::remove是非修改算法(non-modifying algorithm),它不实际删除元素,而是将容器中的元素重新排列,使得所有需要被删除的元素移动到容器的末尾
std::erase 是一个修改算法(modifying algorithm),它用于从容器中删除指定位置的元素或范围的元素,并减少容器的大小

std::remove和std::erase通常用于去除容器中的特定元素

拷贝

Name
std::copy通常与std::back_inserter一起使用
std::copy_if

排序

Name
std::sort

基础函数、类型

Namec++基础函数、类型
std::for_each
std:istringstream可用于截取字符串,默认以空格为分隔符,可搭配使用std::getline改为使用任意特殊符号为间隔符,例如: std::getline(iss, substr, ‘,’)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值