
C++
文章平均质量分 92
韩曙亮
中国人民大学硕士 , 专注于 移动开发 领域 , 博客专家 , 2023 年博客之星 TOP1 , 2021 年博客之星 TOP9 , 华为云 云享专家 , 阿里云社区 专家博主 , 51CTO 专家博主 ;
展开
-
【C++】STL 算法 - 累加填充算法 ( 元素累加算法 - accumulate 函数 | 元素填充算法 - fill 函数 )
一、元素累加算法 - accumulate 函数1、函数原型分析2、代码示例二、元素填充算法 - fill 函数1、函数原型分析2、代码示例原创 2024-01-17 20:31:48 · 2820 阅读 · 6 评论 -
【C++】STL 算法 - 拷贝替换算法 ( 元素复制算法 - copy 函数 | 元素替换算法 - replace 函数 | 替换符合要求的元素算法 - replace_if 函数 )
一、元素复制算法 - copy 函数1、函数原型分析2、代码示例二、元素替换算法 - replace 函数1、函数原型分析2、代码示例三、替换符合要求的元素算法 - replace_if 函数1、函数原型分析2、代码示例原创 2024-01-16 21:10:13 · 2003 阅读 · 8 评论 -
【C++】STL 算法 - 查找算法 ( 查找两个相邻重复元素 - adjacent_find 函数 | 有序容器中通过二分法查找指定元素 - binary_search 函数 )
一、查找两个相邻重复元素 - adjacent_find 函数1、函数原型分析2、代码示例二、有序容器中通过二分法查找指定元素 - binary_search 函数1、函数原型分析2、二分查找时间复杂度分析3、代码示例原创 2024-01-15 19:27:26 · 1741 阅读 · 1 评论 -
【C++】STL 算法 - transform 变换算法 ③ ( transform 和 for_each 算法的区别 | STL 算法接收的可调用对象分析 - 以 transform 为例进行分析)
一、transform 和 for_each 算法的区别1、transform 和 for_each 算法作用区别2、transform 和 for_each 算法 返回值区别3、transform 和 for_each 算法 接收的 函数对象 参数 和 返回值区别二、STL 算法接收的可调用对象分析 - 以 transform 为例进行分析1、参考代码示例2、transform 函数接收的规则3、查看算法函数接收的可调用对象 - 以 transform 函数为例原创 2024-01-14 20:28:34 · 1940 阅读 · 12 评论 -
【C++】STL 算法 - transform 变换算法 ② ( 变换规则为 普通函数 | 变换规则为 Lambda 表达式 | 变换规则为 函数对象 | 变换规则为 函数适配器转换的函数对象 )
一、transform 算法1、接收一个输入容器范围的 transform 算法函数原型2、代码示例 - 传入接受一个参数的普通函数3、代码示例 - 传入接受一个参数的 Lambda 表达式4、代码示例 - 传入接受一个 一元函数对象 作为变换规则5、代码示例 - 传入接受一个 STL 中预定义的 一元函数对象 作为变换规则6、代码示例 - 传入接受一个 使用 函数适配器 将预定义二元函数对象转成的 一元函数对象7、代码示例 - 将变换结果输出到标准输出流中原创 2024-01-14 17:19:25 · 2373 阅读 · 6 评论 -
【C++】STL 算法 - transform 变换算法 ① ( transform 函数原型 | 将 一个 或 两个 输入容器 中的元素 变换后 存储到 输出容器 中 )
一、transform 算法1、transform 算法简介2、transform 算法函数原型 1 - 将 一个输入容器 中的元素 变换后 存储到 输出容器 中3、transform 算法函数原型 2 - 将 两个输入容器 中的元素 变换后 存储到 输出容器 中3、transform 算法源码分析原创 2024-01-13 22:35:46 · 2551 阅读 · 13 评论 -
【C++】STL 算法 - for_each 遍历算法 ( for_each 函数原型 | for_each 函数源码分析 | for_each 函数 _Fn _Func 参数 值传递说明 )
一、for_each 算法1、for_each 函数简介2、for_each 函数原型3、for_each 函数源码分析4、for_each 函数 _Fn _Func 参数 值传递说明二、代码示例 - for_each 算法1、代码示例 - for_each 算法 传入普通函数2、代码示例 - for_each 算法 传入 Lambda 表达式3、代码示例 - for_each 算法 传入一元函数对象4、代码示例 - for_each 算法 函数对象 值传递原创 2024-01-13 19:16:55 · 3174 阅读 · 4 评论 -
【C++】STL 算法概念和分类 ( STL 算法头文件 | STL 算法思想 - 数据与算法分离 | STL 算法 迭代器 | STL 算法 操作对象 | STL 算法分类 )
一、STL 算法概念1、STL 算法头文件2、STL 算法思想 - 数据与算法分离3、STL 算法 迭代器4、STL 算法 操作对象二、STL 算法分类原创 2024-01-12 22:16:30 · 1279 阅读 · 5 评论 -
【C++】STL 算法 ⑪ ( 函数适配器嵌套用法 | modulus 函数对象 - 取模运算 | std::count_if 函数原型 | std::not1 函数原型 )
一、函数适配器示例 - 函数适配器正常用法1、modulus 函数对象 - 取模运算2、std::count_if 函数原型3、代码示例 - 使用 函数适配器 绑定函数对象参数二、函数适配器示例 - 函数适配器嵌套用法1、std::not1 函数原型2、代码示例 - 函数适配器嵌套用法原创 2024-01-11 21:50:38 · 1261 阅读 · 8 评论 -
【C++】STL 算法 ⑩ ( 函数适配器 | 函数适配器概念 | 函数适配器分类 | 函数适配器辅助函数 | std::bind2nd 函数原型及示例 | std::bind 函数原型及示例 )
一、函数适配器简介1、函数适配器概念2、函数适配器分类3、函数适配器辅助函数二、函数适配器使用示例 - std::bind2nd 函数1、std::bind2nd 函数原型2、代码示例 - std::bind2nd 函数三、函数适配器使用示例 - std::bind 函数1、std::bind 函数原型2、代码示例 - std::bind 函数原创 2024-01-11 10:03:34 · 2437 阅读 · 8 评论 -
【C++】STL 算法 ⑨ ( 预定义函数对象示例 - 将容器元素从大到小排序 | sort 排序算法 | greater<T> 预定义函数对象 )
一、预定义函数对象示例 - 将容器元素从大到小排序1、sort 排序算法2、greater 预定义函数对象二、代码示例 - 预定义函数对象1、代码示例2、执行结果原创 2024-01-10 10:52:59 · 1589 阅读 · 12 评论 -
【C++】STL 算法 ⑧ ( 预定义函数对象 | 预定义函数对象组成 | 预定义函数对象分类 | 预定义 算术运算符 函数对象 | 预定义 比较运算符 函数对象 | 预定义 逻辑运算符 函数对象 )
一、预定义函数对象1、预定义函数对象概念2、预定义函数对象组成二、预定义函数对象分类1、预定义 算术运算符 函数对象2、预定义 比较运算符 函数对象3、预定义 逻辑运算符 函数对象三、代码示例 - plus 函数对象使用1、plus 函数对象2、代码示例3、执行结果原创 2024-01-09 19:27:54 · 1237 阅读 · 6 评论 -
【C++】STL 算法 ⑥ ( 二元谓词 | std::sort 算法简介 | 为 std::sort 算法设置 二元谓词 排序规则 )
一、二元谓词1、二元谓词简介2、 std::sort 算法简介3、 代码示例 - 为 std::sort 算法设置 二元谓词 排序规则原创 2024-01-07 21:43:12 · 1683 阅读 · 12 评论 -
【C++】STL 算法 ⑤ ( 二元函数对象 | std::transform 算法简介 | 为 std::transform 算法传入一元函数对象进行转换操作 )
一、二元函数对象1、二元函数对象简介2、std::transform 算法简介3、代码示例 - 为 std::transform 算法传入一元函数对象进行转换操作原创 2024-01-07 13:27:49 · 1200 阅读 · 6 评论 -
【C++】STL 算法 ④ ( 函数对象与谓词 | 一元函数对象 | “ 谓词 “ 概念 | 一元谓词 | find_if 查找算法 | 一元谓词示例 )
一、函数对象与谓词1、一元函数对象2、" 谓词 " 概念3、find_if 查找算法二、一元谓词示例1、代码示例 - 一元谓词示例2、执行结果原创 2024-01-06 23:10:38 · 1584 阅读 · 7 评论 -
【C++】STL 算法 ③ ( 函数对象中存储状态 | 函数对象作为参数传递时值传递问题 | for_each 算法的 函数对象 参数是值传递 )
一、函数对象中存储状态1、函数对象中存储状态简介2、示例分析二、函数对象作为参数传递时值传递问题1、for_each 算法的 函数对象 参数是值传递2、代码示例 - for_each 函数的 函数对象 参数在外部不保留状态3、代码示例 - for_each 函数的 函数对象 返回值原创 2024-01-06 15:06:18 · 1058 阅读 · 4 评论 -
【C++】STL 算法 ② ( foreach 循环中传入 函数对象 / Lambda 表达式处理元素 | foreach 循环算法 | Lambda 表达式 - 匿名 函数对象 / 仿函数 )
一、foreach 循环中传入 函数对象 / Lambda 表达式处理元素1、foreach 循环算法2、foreach 循环中传入 函数对象 处理元素3、foreach 循环中传入 Lambda 表达式 处理元素4、Lambda 表达式 - 匿名 函数对象 / 仿函数原创 2024-01-05 21:30:26 · 1592 阅读 · 1 评论 -
【C++】STL 算法 ① ( STL 算法相关头文件 | 函数对象 / 仿函数 简介 | 函数调用操作符 | 重写函数调用操作符的类 | 函数对象 与 普通函数区别 )
一、STL 算法相关头文件二、函数对象 / 仿函数 简介1、函数对象 / 仿函数 博客回顾2、函数调用操作符3、函数对象 / 仿函数 - 重写函数调用操作符的类4、函数对象 与 普通函数区别5、函数对象 与 普通函数 使用场景原创 2024-01-05 08:12:22 · 1722 阅读 · 6 评论 -
【C++】STL 容器总结 ( STL 各容器特点 | STL 个容器使用场景 | 单端数组容器 | 双端队列容器 | 双向链表容器 | 集合容器 | 多重集合容器 | 映射容器 | 多重映射容器 )
一、STL 各容器特点1、std::vector 单端数组容器2、std::deque 双端队列容器3、std::list 双向链表容器4、std::set 集合容器5、std::multiset 多重集合容器6、std::map 映射容器7、std::multimap 多重映射容器二、STL 各容器特点总结三、STL 各容器使用场景示例原创 2024-01-04 02:15:00 · 5604 阅读 · 11 评论 -
【错误记录】C++ 字符串常量参数报错 ( 无法将参数 1 从“const char [4]”转换为“char *” | 从字符串文本转换将丢失 const 限定符 )
一、报错信息二、问题分析三、解决方案1、设置 Visual Studio 的兼容规则2、修改实参类型 ①3、修改实参类型 ②4、修改实参类型 ③5、修改形参类型原创 2024-01-04 00:15:00 · 1882 阅读 · 1 评论 -
【C++】STL 容器 - STL 容器的值语意 ( 容器存储任意类型元素原理 | STL 容器元素可拷贝原理 | STL 容器元素类型需要满足的要求 | 自定义可存放入 STL 容器的元素类 )
一、STL 容器的 值 ( Value ) 语意1、STL 容器存储任意类型元素原理2、STL 容器元素可拷贝原理3、STL 容器元素类型需要满足的要求4、STL 容器迭代器遍历二、代码示例 - 自定义可存放入 STL 容器的元素类1、代码示例2、执行结果原创 2024-01-03 19:00:00 · 1374 阅读 · 3 评论 -
【C++】STL 容器 - multimap 容器 ( multimap 容器简介 | multimap 容器常用操作 api - 插入 / 删除 / 修改 元素 )
一、multimap 容器简介1、容器简介2、代码示例 - multimap 容器二、multimap 容器常用操作 api1、插入元素2、删除元素3、修改元素4、代码示例 - 插入 / 删除 / 修改 元素原创 2024-01-03 01:15:00 · 1837 阅读 · 4 评论 -
【C++】STL 容器 - map 关联容器 ④ ( map 容器常用 api 操作 | 查找指定元素 | 获取元素个数 | 获取大于等于指定键的元素 | 获取大于指定键的元素 | 获取等于指定键 )
一、查找指定元素 - std::map#find() 函数1、函数原型简介2、代码示例二、获取元素个数 - std::map#count() 函数1、函数原型简介2、代码示例三、获取大于等于指定键的元素 - std::map#lower_bound 函数1、函数原型简介2、代码示例四、获取大于指定键的元素 - std::map#upper_bound 函数1、函数原型简介2、代码示例五、获取等于指定键的元素 - std::map#equal_range 函数1、函数原型简介原创 2024-01-02 19:15:00 · 1758 阅读 · 2 评论 -
【C++】STL 容器 - map 关联容器 ③ ( map 容器常用 api 操作 | map 容器迭代器遍历 | map#insert 函数返回值处理 )
一、map 容器迭代器遍历1、map 容器迭代器2、代码示例二、map 容器插入结果处理1、map#insert 函数返回值处理2、代码示例原创 2024-01-02 01:00:00 · 1651 阅读 · 3 评论 -
【C++】STL 容器 - map 关联容器 ② ( map 容器常用 api 操作 | 容器插入元素操作 - map#insert 函数 | 插入 / 修改 元素操作 - operator[] )
一、map 容器插入元素操作 - map#insert 函数1、函数原型简介2、pair 键值对初始化方式二、map 容器 插入 / 修改 元素操作 - map#operator[] 函数三、代码示例 - map 容器插入 / 更新元素1、代码示例2、执行结果原创 2024-01-01 14:56:15 · 1893 阅读 · 4 评论 -
【C++】STL 容器 - map 关联容器 ① ( std::map 容器简介 | std::map 容器排序规则 | std::map 容器底层实现 )
一、std::map 容器1、std::map 容器简介2、std::map 容器排序规则3、std::map 容器底层实现二、代码示例 - std::map 容器1、代码示例2、执行结果原创 2024-01-01 03:30:00 · 1380 阅读 · 3 评论 -
【C++】STL 容器 - multiset 容器 ( std::multiset 容器简介 | std::multiset 容器 常用操作 api 简介 )
一、mulset 容器1、std::multiset 容器简介2、代码示例 - multiset 容器二、std::multiset 容器 常用操作 api 简介1、常用 api 简介2、代码示例 - multiset 容器常用操作原创 2023-12-31 14:29:00 · 4683 阅读 · 4 评论 -
【C++】STL 容器 - set 集合容器 ⑧ ( 查找大于等于指定值的元素 - set#lower_bound 函数 | 查找小于等于指定值的元素 - set#upper_bound函数 )
一、查找大于等于指定值的元素 - set#lower_bound 函数1、函数原型2、代码示例二、查找小于等于指定值的元素 - set#upper_bound函数1、函数原型2、代码示例三、查找指定键值范围 - set#equal_range 函数1、函数原型2、代码示例原创 2023-12-31 00:27:05 · 2705 阅读 · 4 评论 -
【C++】STL 容器 - set 集合容器 ⑦ ( 查找元素 - set#find 函数 | 获取元素个数 - set#count 函数 )
一、查找元素 - set#find 函数1、函数原型 简介2、代码示例 - set#find 函数二、获取元素个数 - set#count 函数1、函数原型 简介2、代码示例 - set#find 函数原创 2023-12-30 22:22:06 · 5807 阅读 · 0 评论 -
【C++】STL 容器 - set 集合容器 ⑥ ( pair 对组简介 | pair 对组元素访问 | set 集合容器 insert 插入结果类型 - pair 对组 )
一、pair 对组1、pair 对组 简介2、pair 对组元素访问3、代码示例 - pair 对组4、set 集合容器存储 pair 对组元素二、set 集合容器 insert 插入结果类型 - pair 对组1、std::set#insert 函数原型分析2、代码示例 - std::set#insert 函数插入元素结果分析原创 2023-12-29 20:42:27 · 1478 阅读 · 6 评论 -
【C++】STL 容器 - set 集合容器 ⑤ ( 仿函数 functor 简介 | 仿函数 functor 调用 | 自定义类排序规则 - 仿函数 / 重载 < 运算符函数 )
一、仿函数 functor1、仿函数 functor 简介2、仿函数 functor 调用3、代码示例 - 仿函数 functor 调用二、为自定义类元素设置排序规则 - 仿函数 functor1、自定义类排序规则2、仿函数 - 实现自定义类排序规则3、重载 < 运算符函数 - 实现自定义类排序规则原创 2023-12-29 17:34:28 · 1587 阅读 · 2 评论 -
【C++】STL 容器 - set 集合容器 ④ ( 设置 set 集合容器的排序规则 | 默认的 set 集合容器 - 从小到大排列 | 设置容器从大到小排列 | 使用仿函数自定义集合排序规则 )
一、设置 set 集合容器的排序规则1、默认的 set 集合容器 - 从小到大排列2、设置 set 集合容器从大到小排列二、使用仿函数自定义 set 集合容器 排序规则1、仿函数概念2、使用仿函数实现 set 集合容器排序规则原创 2023-12-28 20:43:14 · 2481 阅读 · 4 评论 -
【C++】STL 容器 - set 集合容器 ③ ( set 集合容器常用 api 简介 | 删除元素 | 删除指定值的元素 | 删除指定迭代器位置元素 | 删除指定迭代器范围元素 )
一、删除元素1、删除指定值的元素 - erase 函数2、删除指定迭代器位置的元素 - erase 函数3、删除指定迭代器范围的元素 - erase 函数4、删除集合中的所有元素 - clear 函数原创 2023-12-28 08:08:01 · 3023 阅读 · 2 评论 -
【C++】STL 容器 - set 集合容器 ② ( set 集合容器常用 api 简介 | 使用迭代器进行正向迭代与反向迭代 | 集合容器插入元素 | 插入单个元素 | 插入多个元素 )
一、set 集合容器遍历1、使用迭代器进行正向迭代与反向迭代2、代码示例二、set 集合容器插入元素1、插入单个元素 - insert 函数2、插入多个元素 - insert 函数3、插入指定迭代器范围的元素 - insert 函数原创 2023-12-27 20:42:16 · 1437 阅读 · 2 评论 -
【C++】STL 容器 - set 集合容器 ① ( set 集合容器简介 | set 集合容器操作的时间复杂度 | set 集合容器常用操作 )
一、set 集合容器1、set 集合容器简介2、set 集合容器操作的时间复杂度3、set 集合容器常用操作二、代码示例 - set 集合容器1、代码示例2、执行结果原创 2023-12-27 19:15:00 · 2303 阅读 · 0 评论 -
【C++】STL 容器 - priority_queue 优先级队列容器 ( 容器简介 | 容器操作性能分析 | 默认优先级队列容器 | 最大值优先级队列 | 最小值优先级队列 )
一、priority_queue 优先级队列容器1、priority_queue 优先级队列容器简介2、priority_queue 优先级队列容器操作性能分析二、代码示例 - priority_queue 优先级队列容器1、默认优先级队列容器2、最大值优先级队列3、最小值优先级队列原创 2023-12-26 20:00:00 · 1497 阅读 · 1 评论 -
【C++】STL 容器 - list 双向链表容器 ③ ( list 常用 api 简介 | 中间位置 插入 / 删除 元素 | insert 函数 | clear 函数 | erase 函数 )
一、list 双向链表容器 的 中间位置 插入 元素1、在指定位置插入 1 个元素 - insert 函数2、在指定位置插入 n 个相同元素 - insert 函数3、中间位置 插入 另一个容器的指定范围内的 元素 - insert 函数二、list 双向链表容器 的 中间位置 删除 元素1、删除容器中所有元素 - clear 函数2、删除容器中指定元素 - remove 函数3、删除容器中指定 迭代器位置 的元素 - erase 函数4、删除容器中指定 迭代器范围 的元素 - erase原创 2023-12-26 19:15:00 · 1764 阅读 · 0 评论 -
【C++】STL 容器 - list 双向链表容器 ② ( list 常用 api 简介 | 首尾 添加 / 删除 元素 | 获取首尾元素 | 正向迭代与反向迭代 )
一、元素操作1、首尾 添加 / 删除 元素2、获取 首尾 元素二、迭代器遍历容器1、正向迭代与反向迭代2、代码示例原创 2023-12-25 22:28:26 · 1266 阅读 · 4 评论 -
【C++】STL 容器 - list 双向链表容器 ① ( 容器特点 | 容器操作时间复杂度 | 构造函数 )
一、 list 双向链表容器简介1、容器特点2、容器操作时间复杂度3、遍历访问5、头文件二、 list 双向链表容器 构造函数1、默认无参构造函数2、创建包含 n 个相同元素的 list 双向链表3、使用初始化列表构造 list 双向链表4、使用另外一个 list 容器 构造 list 双向链表容器原创 2023-12-25 21:53:22 · 1731 阅读 · 0 评论 -
【C++】STL 容器 - queue 队列容器 ( queue 容器简介 | queue 容器特点 | push 函数 | pop 函数 | front 函数 )
一、 queue 队列容器简介1、queue 队列容器引入2、queue 队列容器特点二、 queue 队列常用 api 函数1、队尾插入函数 - queue#push 函数2、队头删除函数 - queue#pop 函数3、获取队首元素 - queue#front 函数原创 2023-12-24 18:41:20 · 1916 阅读 · 4 评论