- 博客(3859)
- 资源 (98)
- 收藏
- 关注
原创 C++进阶之值交换std::swap:用法实例(四百零五)
本篇目的:C++进阶之值交换std::swap:用法实例基本概念std::swap 是 C++ 标准库<utility>中的通用函数模板,用于交换两个对象的值。它是最常用的原子级工具函数之一,可用于基本类型、容器、自定义类型等。功能std::swap(x, y) 会将对象 x 和 y 的内容交换,等价于传统的临时变量交换写法,提供了统一、高效的语义接口。特化与自定义对于复杂类型(如 std::vector、std::string),std::swap 内部使用 move 语义实现高效交换;
2025-04-29 07:30:00
702
原创 C++进阶之区间旋转std::rotate:用法实例(四百零四)
本篇目的:C++进阶之区间旋转 std::rotate:用法实例基本概念std::rotate 是 C++ 标准库头文件中的算法,用于将指定区间内的元素按照给定位置进行循环移动。将 [first, middle) 区间内元素移到区间末尾,原 [middle, last) 区间元素顺次前移。功能该算法接收三个迭代器:起始迭代器、旋转点迭代器和结束迭代器。旋转点前的元素被移到区间尾部,其他元素依次前移,保持相对顺序。迭代器要求。
2025-04-29 07:00:00
862
原创 Android15音频进阶之解underrun与overrun思路(一百一十七)
本篇目的:Android15音频进阶之解underrun与overrun思路Underrun:发生在播放:APP准备的数据太少,导致底层没有音频数据可以播放,导致ADSP被“饿死了“,即Underrun。Overrun: 发声在录音:APP录音数据获取太慢了,导致底层录出来的数据太多了,APP播放不了,导致APP被“撑死了”,即Overrun。
2025-04-28 07:30:00
368
原创 C++进阶之序列反转std::reverse:用法实例(四百零三)
本篇目的:C++进阶之序列反转std::reverse:用法实例基本概念std::reverse 是 C++ 标准库头文件中的算法,用于将区间内的元素顺序就地反转,即首尾互换,第二个与倒数第二个交换,依此类推,直到区间中心。功能该算法接收两个迭代器:起始迭代器和结束迭代器。反转操作会原地修改区间内元素的位置,不会创建新的容器或序列。迭代器要求。
2025-04-28 07:00:00
432
原创 Android15之内核Kbuild打印log(二百四十七)
本篇目的:Android15之内核Kbuild打印log概述:Kbuild 文件是 Android 系统内核开发中关键的构建规则定义文件,以 Makefile 形式存在,遵循特定语法规范,指导内核构建系统完成源代码到内核模块或内置代码的编译链接工作。编译文件指定:通过类似 obj - y := file1.o file2.o 的语句,明确哪些源代码文件需被编译,如 file1.c 和 file2.c 会分别编译为 object 文件并融入内核。编译选项添加。
2025-04-27 23:37:35
793
原创 C++进阶之元素替换std::replace:用法实例(四百零二)
本篇目的:C++进阶之元素替换std::replace:用法实例基本概念std::replace 是 C++ 标准库头文件中的一个算法,用于替换容器中所有与目标值相等的元素为指定的新值。它通过遍历容器,将所有符合条件的元素进行替换。功能该算法接受三个参数:起始迭代器、结束迭代器和两个值:目标值和替换值。它会遍历从起始迭代器到结束迭代器的元素,将所有等于目标值的元素替换为指定的替换值。迭代器要求std::replace 的输入迭代器要求至少为输入迭代器,支持顺序访问。
2025-04-26 07:30:00
1187
原创 C++进阶之二分查找std::binary_search:用法实例(四百零一)
本篇目的:C++进阶之二分查找std::binary_search:用法实例基本概念std::binary_search 是 C++ 标准库头文件中的查找算法,它实现了二分查找算法。该算法用于在已排序的范围内检查某个元素是否存在。它通过将范围不断对半分割,逐步缩小搜索区间,从而高效地查找目标元素。功能该算法接受三个参数:起始迭代器、结束迭代器和待查找的元素。返回值为布尔类型,若目标元素存在于区间中,则返回 true,否则返回 false。
2025-04-26 07:00:00
845
原创 C++进阶之部分排序std::partial_sort:用法实例(四百)
本篇目的:C++进阶之部分排序 std::partial_sort:用法实例基本概念std::partial_sort 是 C++ 标准库头文件中的排序算法,它用于对指定区间中的部分元素进行排序。与 std::sort 不同,std::partial_sort 只保证区间中前 k 个元素被排序,而剩余的元素则可能未被完全排序。功能该算法接受四个参数:起始迭代器、终止迭代器和一个整数 k(表示排序元素个数)以及一个可选的比较函数。
2025-04-25 07:30:00
696
原创 C++进阶之稳定排序std::stable_sort:用法实例(三百九十九)
本篇目的:C++进阶之稳定排序 std::stable_sort:用法实例基本概念std::stable_sort 是 C++ 标准库头文件中的排序算法,类似于 std::sort,但具有一个额外的特点:它保证排序后相等的元素相对顺序保持不变。也就是说,如果两个元素在排序前相等,排序后它们的相对位置不发生变化。功能该算法接受三个参数:区间的起始迭代器、结束迭代器和一个可选的比较函数。与 std::sort 类似,默认情况下,std::stable_sort 使用。
2025-04-25 07:00:00
740
原创 C++进阶之排序容器std::sort:用法实例(三百九十八)
本篇目的:C++进阶之排序容器std::sort用法实例基本概念std::sort 是 C++ 标准库头文件中的排序算法,用于对指定区间内的元素进行排序。它通常用于对容器(如 std::vector、std::array、std::deque 等)中的元素进行升序或降序排序。功能该算法接受三个参数:区间的起始迭代器、结束迭代器和一个可选的比较函数。算法将根据比较函数对元素进行排序。默认情况下,std::sort 使用运算符进行升序排序。迭代器要求。
2025-04-24 07:30:00
560
原创 C++进阶之填充容器std::fill:用法实例(三百九十七)
本篇目的:C++进阶之填充容器 std::fill:用法实例基本概念std::fill 是 C++ 标准库头文件中的算法,用于将一个值填充到容器或序列中的每个元素。它可以在一个区间内将每个元素设置为指定的值,常用于初始化或重置容器中的数据。功能该函数接受三个参数:区间的起始迭代器、结束迭代器和要填充的值。它会将区间内的所有元素设置为相同的指定值。迭代器要求std::fill 要求输入区间的起始和结束迭代器必须是双向或更高级别的迭代器。
2025-04-24 07:00:00
675
原创 C++进阶之转换序列std::transform:用法实例(三百九十六)
本篇目的:C++进阶之转换序列std::transform:用法实例基本概念std::transform 是 C++ 标准库头文件中的算法,用于对容器内的元素执行变换操作。通过传入一个操作函数,它会逐个元素地对容器中的元素进行处理并生成新的序列。功能该函数接受四个参数:输入区间的起始迭代器、结束迭代器、输出区间的起始迭代器,以及操作函数。它会将操作函数应用到输入区间的每个元素上,结果写入到输出区间中。该算法可以用于数据转换、元素修改、格式化等操作。迭代器要求。
2025-04-23 07:30:00
536
原创 C++进阶之遍历容器std::for_each:用法实例(三百九十五)
本篇目的:C++进阶之遍历序列 std::for_each:用法实例基本概念std::for_each 是 C++ 标准库头文件中的序列遍历算法,用于依次对区间内的每个元素执行给定操作。通过遍历区间内元素,将每个元素依次传入用户提供的函数或 Lambda 表达式。功能该函数接受三个参数:起始迭代器、结束迭代器和一元操作函数。算法依次调用操作函数,对区间内的所有元素执行指定操作,可用于打印、修改、累计统计等。迭代器要求。
2025-04-23 07:00:00
975
原创 C++进阶之判断范围std::equal:用法实例(三百九十四)
本篇目的:C++进阶之判断范围std::std::equal:用法实例基本概念std::equal是 C++ 标准库头文件中的序列比较算法,用于判断两个序列中的元素是否逐个相等。从第一个序列的起始位置和第二个序列的起始位置开始,依次比较每对元素是否相等。功能接受两个区间(或一个区间 + 一个起点),默认使用==比较元素是否相等。也可以传入二元谓词,自定义判断逻辑,如忽略大小写、容忍误差等。迭代器要求要求两个序列的元素数量一致(除非调用只指定一个起始区间,另一个为起点)。迭代器至少为输入迭代器,常配合。
2025-04-22 07:30:00
924
原创 C++进阶之查找某个元素std::find_if:用法实例(三百九十三)
本篇目的:C++进阶之查找某个元素std::find_if:用法实例基本概念是 C++ 标准库头文件中提供的通用查找算法,用于在指定区间内查找第一个满足给定谓词条件的元素。它通过遍历区间内的元素,依次调用用户提供的判断函数,寻找符合条件的目标项。功能该函数接受三个参数:起始迭代器、结束迭代器和一元谓词函数。算法会从起始迭代器位置开始,依次将每个元素作为参数传递给谓词函数,判断是否满足条件。若遇到第一个返回true的元素,算法立即终止并返回指向该元素的迭代器;若区间内没有满足条件的元素,则返回结束迭代器。
2025-04-22 07:00:00
694
原创 Android15之解决:scrcpy1.21无法投屏问题(二百四十六)
本篇目的:Android15之解决:scrcpy1.21无法投屏问题... 7 more1.、scrcpy 简介scrcpy 是一个开源的命令行工具,它允许用户通过 USB 或网络将 Android 设备的屏幕镜像到电脑上,并且支持对设备进行控制。2、工作原理它基于 adb(Android 调试桥接)进行工作。当连接成功后,Android 设备的屏幕内容会以视频流的形式传输到电脑上,然后通过 scrcpy 的客户端进行显示和控制。3、主要特点屏幕镜像与控制。
2025-04-21 08:00:00
693
原创 C++进阶之查找元素std::find:用法实例(三百九十二)
本篇目的:C++进阶之查找元素std::find:用法实例基本概念std::find是 C++ 标准库中的通用查找算法,定义于头文件内。其作用是在指定的迭代器范围内,查找第一个等于指定值的元素。该算法是最常用的线性查找函数之一,适用于数组、标准容器及自定义区间。功能该函数接受三个参数:起始迭代器、结束迭代器以及要查找的目标值。算法会从起始迭代器开始,逐个元素依次与目标值进行相等比较,直到遇到第一个匹配项或者到达结束迭代器。若找到目标值,则返回指向该元素的迭代器;若未找到,则返回结束迭代器。迭代器要求。
2025-04-21 07:00:00
713
原创 C++进阶之迭代器复制std::copy:用法实例(三百九十一)
本篇目的:C++进阶之迭代器复制std::copy:用法实例基本概念std::copy是 C++ 标准库中的通用算法,定义于头文件中,其作用是将一个范围内的元素复制到另一个位置。它是 STL 中最基础且常用的数据移动算法之一,常用于将数组、容器或迭代器范围内的数据转移到新位置或新容器中。功能该函数接受三个参数:起始迭代器、结束迭代器和目标迭代器。它从源范围中依次复制元素到从目标位置d_first开始的区域,直到源范围的所有元素被复制完毕。返回值是指向目标区域中最后一个被复制元素之后的位置。迭代器要求。
2025-04-19 07:30:00
936
原创 C++进阶之交换迭代器元素std::iter_swap:用法实例(三百九十)
本篇目的:C++进阶之交迭代器元素std::iter_swap:用法实例基本概念是 C++ 标准库中提供的算法,用于交换两个迭代器所指向的元素。它是头文件中的函数,其核心作用是简化并统一对迭代器指向内容的交换操作。该函数的本质是对*a和*b所指的对象进行swap,而非交换迭代器本身。功能通过传入两个可解引用的迭代器,对其所指向的元素进行交换操作。这对于在容器中重新排列元素、实现排序或交换值等场景非常实用。它封装了底层的解引用和交换操作,使代码更清晰并减少出错的可能。迭代器要求为了使用。
2025-04-19 07:00:00
1405
原创 C++进阶之迭代器前进与后退:用法实例(三百八十九)
本篇目的:C++进阶之迭代器前进与后退:用法实例基本概念std::next和std::prev是 C++ 标准库中的两个辅助算法,用于操作迭代器。std::next用于将迭代器推进指定的步数,而std::prev用于将迭代器回退指定的步数。这两个算法通常用于迭代器的前进和后退操作,提供了一种更简洁和安全的方式来移动迭代器。功能std::next通过接受一个迭代器和一个整数步数,返回一个新的迭代器,指向原迭代器向前移动指定步数后的元素。std::prev。
2025-04-18 07:30:00
585
原创 C++进阶之迭代器距离std::distance:用法实例(三百八十八)
本篇目的:C++进阶之迭代器距离std::distance:用法实例基本概念是 C++ 标准库中的一个算法,用于计算两个迭代器之间的距离。它返回从一个迭代器到另一个迭代器之间经过的元素个数。这个算法适用于所有类型的迭代器,包括输入迭代器、输出迭代器、双向迭代器、随机访问迭代器等。功能可以用来计算两个迭代器之间的元素数目。当两个迭代器指向相同容器中的位置时,调用返回的是这两个迭代器之间的元素个数。它适用于不同类型的容器和迭代器,是一种通用的迭代器操作。支持的迭代器类型支持各种类型的迭代器。
2025-04-18 07:00:00
657
原创 C++进阶之迭代器偏移std::advance:用法实例(三百八十七)
本篇目的:C++进阶之迭代器偏移std::advance:用法实例基本概念是 C++ 标准库中定义的一个算法,用于推进迭代器。它根据给定的步数改变迭代器的位置,支持所有类型的迭代器,包括输入迭代器、输出迭代器、双向迭代器和随机访问迭代器。该算法能够以正确的方式调整迭代器的位置,无论容器的底层实现如何。功能通过指定一个迭代器和一个整数步数,递增或递减迭代器的位置。如果步数为负数,迭代器将向后移动;如果步数为正数,迭代器将向前移动。它适用于所有支持递增操作的迭代器,能够使迭代器精确地跳转到容器中的任意位置。
2025-04-17 07:30:00
787
原创 C++进阶之迭代器和指针区别:用法实例(三百八十六)
本篇目的:C++进阶之迭代器和指针的关系:用法实例基本概念C++中的迭代器和指针都是访问容器元素的工具。指针是C++语言中的一种基本类型,它可以直接指向内存地址。迭代器则是C++标准库中的一种抽象类型,用于访问容器中的元素。它提供了一种统一的方式来遍历不同类型的容器,而不依赖于具体容器的内部实现。指针与迭代器的相似性指针和迭代器在行为上有很多相似之处。它们都可以用于遍历容器,支持解引用()、自增(++)操作来访问和移动元素。
2025-04-17 07:00:00
899
原创 C++进阶之反向迭代器std::reverse_iterator:用法实例(三百八十五)
本篇目的:C++进阶之反向迭代器std::reverse_iterator:用法实例基本概念是 C++ 标准库提供的一种适配器,用于将任意支持双向或随机访问的迭代器转换为反向迭代器,使其从容器的尾部向头部进行遍历。它封装了一个底层迭代器,并通过调整递增与递减行为实现逆序访问。特性与接口提供标准迭代器的接口,包括解引用()、递增(++)、递减(--)、偏移访问()、比较操作(==!等),前提是底层迭代器支持相应操作。解引用时,返回的是其内部迭代器前一个位置的值,以符合逆序语义。与普通迭代器的区别。
2025-04-16 07:30:00
737
原创 C++进阶之常量迭代器const_iterator:用法实例(三百八十四)
本篇目的:C++进阶之常量迭代器const_iterator:用法实例基本概念是 C++ 标准库中容器迭代器的一种,用于只读访问容器中的元素。它提供与普通迭代器类似的遍历功能,但不允许通过该迭代器修改所指向的元素值,是一种对容器内容的只读访问手段。特性与接口支持容器的常规遍历操作,如递增(++)、解引用()、比较(==!)等,但解引用所得的值是只读的,即为const类型的引用或指针。具体支持的操作类型取决于容器迭代器的类别,如双向或随机访问。与 iterator 的区别与普通的iterator不同,
2025-04-16 07:00:00
885
原创 C++进阶之随机访问迭代器std::random_access_iterator:用法实例(三百八十三)
本篇目的:C++进阶之 随机访问迭代器std::random_access_iterator:用法实例基本概念是 C++ 标准库中迭代器分类中功能最强的一类,称为随机访问迭代器。它不仅支持常规的递增与递减操作,还可以进行距离跳跃、比较、加减运算和下标访问,使得迭代器行为接近指针。特性与接口随机访问迭代器支持所有前向与双向迭代器的操作,包括++--==!,此外还支持运算、[]运算符访问、<=>=比较以及两迭代器之间的距离计算,接口非常丰富。与其他迭代器的对比。
2025-04-15 07:30:00
1568
原创 C++进阶之双向迭代器std::bidirectional_iterator:用法实例(三百八十二)
本篇目的:C++进阶之双向迭代器std::bidirectional_iterator:用法实例基本概念是 C++ 标准迭代器类别中的一种,属于双向迭代器。它在具备前向迭代器所有功能的基础上,增加了对元素的反向遍历能力。双向迭代器允许通过++向前移动,也允许通过--向后移动,因此提供了更大的遍历灵活性。特性与限制双向迭代器支持解引用操作,通过访问当前指向的元素,并支持递增(++)和递减(--)两个方向的移动。它保证多次解引用的一致性,并支持迭代器之间的比较操作,如==与!。与其他迭代器的对比。
2025-04-15 07:00:00
617
原创 Android15音频进阶之设置audio进程日志等级(一百一十五)
本篇目的:Android15音频进阶之设置android.hardware.audio.service日志等级。
2025-04-14 07:30:00
1569
原创 Ubuntu22.04之解决:chromium中搜狗输入法无法输入中文问题(二百七十八)
本篇目的:Ubuntu22.04之解决:chromium中搜狗输入法无法输入中文问题。
2025-04-14 07:00:00
2002
原创 C++进阶之单向迭代器std::forward_iterator:用法实例(三百八十一)
本篇目的:C++进阶之单向迭代器std::forward_iterator:用法实例基本概念是 C++ 迭代器分类中的一种,属于单向迭代器类型。它支持在序列中单向遍历,并可以多次访问同一个元素。与输入迭代器不同,前向迭代器可以保证重复访问的稳定性,适用于需要多次读取数据的算法。特性与限制允许使用++进行递增操作,并支持进行解引用读取数据。它保证对同一元素的解引用不会改变迭代器的状态,因此可以安全地多次访问。同样,它支持比较操作,如==和!,用于判断迭代器是否相等。与其他迭代器的对比。
2025-04-12 07:30:00
666
原创 C++进阶之输出迭代器std::ostream_iterator:用法实例(三百八十)
本篇目的:C++进阶之输出迭代器std::ostream_iterator:用法实例基本概念是 C++ 标准库提供的输出流迭代器,它允许通过迭代器的方式向(如std::cout或)写入数据。它是单向输出迭代器,只支持数据写入操作,不能用于读取或修改数据。底层机制通过重载operator=处理数据写入操作。每次赋值给迭代器时,它会将数据传递给底层的对象,并立即执行输出操作。同时,它支持在输出的每个元素后自动插入一个分隔符,便于格式化输出。结束迭代器的概念不同于没有特定的结束迭代器。
2025-04-12 07:00:00
1017
原创 C++进阶之输入迭代器std::istream_iterator:用法实例(三百七十九)
本篇目的:C++进阶之输入迭代器std::istream_iterator:用法实例基本概念是 C++ 标准库中的输入流迭代器,允许从输入流(如std::cin或)中逐个读取数据,并在算法或容器操作中使用。它是单向迭代器,支持输入操作但不支持修改或回溯。底层机制通过重载operator*和operator++实现输入迭代的功能。operator*返回当前读取的值,operator++使迭代器前进,触发流的读取操作。迭代器会尝试从流中读取数据,直到遇到流结束或输入错误。特殊的结束迭代器没有明确的end()
2025-04-11 07:30:00
924
原创 C++进阶之优先队列std::priority_queue:用法实例(三百七十八)
本篇目的:C++进阶之优先队列std::priority_queue:用法实例基本概念是 C++ 标准库提供的优先级队列容器适配器,实现了基于堆的数据结构。它确保队列中的元素按照优先级顺序排列,每次访问或删除的都是优先级最高的元素,默认情况下优先级由确定,即值较大的元素优先。底层实现依赖作为默认底层容器,并通过和维护最大堆(或最小堆)。如果需要不同的优先级顺序,可以通过自定义比较函数或使用变为最小堆。基本操作主要支持push(插入元素)、pop(移除优先级最高的元素)、top(访问优先级最高的元素)、
2025-04-11 07:00:00
927
原创 C++进阶之栈容器std::stack:用法实例(三百七十七)
本篇目的:C++进阶之栈容器std::stack:用法实例基本概念std::stack是 C++ 标准库提供的容器适配器,实现了后进先出(LIFO, Last In First Out)的数据结构。它仅允许在容器的一端进行元素插入和删除操作,通常用于维护递归调用、撤销操作等应用场景。底层容器std::stack本质上是对序列容器的封装,默认使用std::deque作为底层容器,但可以指定或std::list作为底层容器。不同的底层容器会影响std::stack的性能和内存管理特性。基本操作。
2025-04-10 07:30:00
628
原创 C++进阶之std::unordered_map:用法实例(三百七十六)
本篇目的:C++进阶之std::unordered_map:用法实例基本概念是 C++ 标准库中的一个关联容器,类似于std::map,但使用哈希表作为底层数据结构,因此它不保证元素的顺序。它存储键值对,每个键都必须是唯一的,并且根据键的哈希值进行快速查找、插入和删除。无序性与std::map不同,内部的元素是无序的。由于哈希表的设计,元素是通过哈希函数来映射并存储的,因此在遍历时,元素的顺序是不可预测的。这使得它的插入和查找操作更加高效,而不关注顺序。键唯一性保证每个键在容器中唯一。
2025-04-10 07:00:00
892
原创 C++进阶之哈希表实现std::unordered_set:用法实例(三百七十五)
本篇目的:C++进阶之哈希表实现std::unordered_set:用法实例基本概念是 C++ 标准库中的一个关联容器,与std::set类似,它存储唯一的元素,但不同的是使用哈希表作为底层数据结构,因此它不保证元素的顺序。元素通过哈希值来快速查找,提供了较为快速的查询性能。无序性与std::set不同,内部的元素是无序的。哈希表的设计使得元素按哈希值存储,而不是按照某个特定顺序排列。这意味着遍历时,元素的顺序是不可预测的。唯一性只允许每个元素在容器中出现一次。
2025-04-09 07:30:00
695
原创 C++进阶之允许重复键std::multimap:用法实例(三百七十四)
本篇目的:C++进阶之允许重复键std::multimap:用法实例基本概念是 C++ 标准库中的一个关联容器,它与std::map相似,但允许一个键对应多个值。按照键的顺序自动排序,并且可以存储重复的键值对。有序性内部按照键的顺序进行排序,默认使用运算符,也可以通过自定义比较器来控制键的排序方式。它保持键的有序性,因此在遍历时,键总是按照设定顺序排列。重复键值对与std::map不同,允许一个键出现多次,且每个键都可以对应不同的值。这使得能够存储多个具有相同键但不同值的元素,适用于需要存储重复键的场景。
2025-04-09 07:00:00
1406
JM-H264参考手册
2020-10-28
H.264标准协议(官方中文版)
2020-10-28
HxD_Hex编辑器中文版.zip
2020-09-12
MultimediaFrameworkOverview.zip
2020-09-01
Gstreamer-Openmax-gst-openmax.zip
2020-08-17
GStreamer中文开发手册.zip
2020-07-22
win10removeAll.zip
2020-06-25
vcxsrv-64.1.20.8.1.zip
2020-06-20
debug_hybris_demo.zip
2020-06-03
手写Fuchsia第一个app
2020-03-16
第五代加固技术ARM VMP原理实现与应用.zip
2020-03-01
AUDIO CODEC DAPM详解.zip
2019-12-30
蓝牙Audio调试.zip
2019-12-27
Universal Serial Bus Device Class Definition for Audio Devices.zip
2019-11-16
Android64位gdbserver与Win10-32位gdb.exe与Ubuntu64位gdb可执行bin
2024-10-15
彻底禁掉Win10 Defender自启动
2022-12-24
Elecard HEVC Analyzer_For_Windows.zip
2021-01-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人