
STL
文章平均质量分 57
C++标准程序库中常见算法解析
yedawei_1
这个作者很懒,什么都没留下…
展开
-
STL (六)map之切莫改动key
记得之前扩展一个老项目的功能,里面有一个map,key死活find不到,最后整个人都快崩溃。无奈之下,从头开始跟踪,发现前辈居然在期间强行修改了map的key,看到的那一刻,差点哭了。废话不多说,请看下面一段代码(vs2019):#include <iostream>#include <map>int main(){ using namespace std; map<int, int> mapSalary; mapSalary原创 2021-03-18 16:58:46 · 222 阅读 · 0 评论 -
STL(五)去重
想要去除容器中的重复元素,可以用STL提供的函数std::unique。与stl的其他删除函数类似,该函数并没有真正删除重复元素,只是移动了元素的位置,返回需要删除的逻辑位置。除此之外,std::unique只能去除相邻的重复元素。什么意思呢?请看下面代码:int _tmain(int argc, _TCHAR* argv[]){ using namespace std; list<int> lstInt = { 1, 2, 4, 8, 2, 2, 3, 4, 5, 8原创 2020-11-03 17:16:43 · 1319 阅读 · 0 评论 -
STL(四) std::string /std::wstring 查找、删除、替换(find erase replace)
std::string(std::wstring)类,在C++中是一个非常重要同时地位也很悬殊的存在,不管程序规模大小,很难避免不用到。功能很强大,但是总感觉距离好用还差了那么一点点。首先,需要明白一点,std::string是STL中的一员,所以,有关stl的诸多算法和理念,都适用于它。有关std::string的基本操作,不过多介绍,到处都能找到,这篇博客,重点介绍平常编程经常遇到的字符串的查找、替换和删除操作。查找std::string 的查找,用std::find函数当然也没问题原创 2020-09-27 14:00:09 · 9774 阅读 · 0 评论 -
STL(三)删除元素 remove、erase
STL功能很强大,但是说到删除元素,不少人会觉得有些上头,这里,用vector和list两个最常用容器举例。原创 2020-09-23 17:35:52 · 8822 阅读 · 0 评论 -
STL(二)emplace 及指针的坑
最近在重构一个近十年前的项目,快要成了猪头。晕乎乎之际,不得不佩服前辈们的思维,如此混乱不堪的代码,居然能够跑起来,腻害腻害!改着改着,直接崩了,一脸懵逼。搜寻之下,原来是有一个巨大的类,里面有非常多的指针,但是,他又在几十个地方重复的构造和析构。效率?内存泄漏?那是操作系统的事情,根本不用考虑,复制粘贴一把梭!吐槽到此结束!分隔线-----------------------------------------------------------------------------------原创 2020-09-17 17:24:25 · 1300 阅读 · 0 评论 -
STL(一) 算法 for_each、transform
所有的stl算法,想要调用,都需包含头文件#include <algorithm>for_each函数原型:for_each (InputIterator beg, InputIterator end, UnaryProc op)函数功能:对区间[beg,end)中的所有元素执行 op操作。注意:op操作的返回值会被忽略。看代码: using std...原创 2020-04-30 09:44:21 · 455 阅读 · 0 评论