c++
文章平均质量分 77
samxfb
码出不一样的烟火
展开
-
Protobuf 编码规则及c++使用详解
包含了常用的整形,字符串,枚举,结构体,repeated(数组)类型。原创 2023-12-22 16:02:38 · 1187 阅读 · 0 评论 -
C++包管理利器CPM
*CPM.cmake是一个与CMake配合使用的C++包管理工具,更准确说是依赖管理,它主要用于简化C++项目中对第三方依赖引入的复杂性。**通过使用CPM,开发者可以更轻松地将所需的第三方库集成到他们的项目中,而无需手动下载、配置和管理这些库。CPM提供了一个简洁的语法,使开发者能够以声明式的方式指定项目所需的依赖项,并自动处理其下载、构建和安装过程。这样,开发者可以更专注于项目本身的开发,而不必花费过多时间和精力来处理依赖项的繁琐细节。原创 2023-12-05 17:14:06 · 1497 阅读 · 0 评论 -
Linux系统下获取系统、BIOS、进程、网络等相关信息的方法和工具
Linux系统下可以使用API和内核通信或者直接读取文件系统来获取所需信息。此外,还有一些命令行工具可供使用,但我们建议优先使用API和文件系统。通过获取设备的一些静态信息,例如系统和BIOS信息,可以帮助我们挖掘Top机型。通过进程和网络等动态信息,可以指导我们进行应用性能测试和优化实践。原创 2023-06-20 14:21:10 · 2054 阅读 · 0 评论 -
基于opencv实现两路yuv数据拼接合成一张大图
实时音视频通话(RTC)越来越注重安全审核,特别是在1v1娱乐社交场景中,对于视频反垃圾的需求也越来越大。随之而来的是客户对审核成本降低的诉求日益强烈。针对1v1场景,将两路视频拼接成一张图片进行审核相比于分别审核两路视频可以降低约50%的成本。然而,这种方法存在缺点:某些检测细节准确度会稍微降低一些,因为同一个特征在合成图里尺寸会变小。原创 2023-05-31 15:50:31 · 988 阅读 · 0 评论 -
linux系统下如何获取进程和系统的cpu占用率
在开发SDK的过程中,需要收集进程和系统相关的负载信息。其中,CPU占用率是一个非常关键的指标。在早期阶段,我们使用管道方式获取top命令返回结果。但后来发现在线上存在一些异常情况,即上报的CPU占用率为0。考虑到top命令会带来较大的开销,并且管道使用不当容易出现问题,最终我们采用了proc文件系统方式获取CPU占用率。原创 2023-05-19 20:03:17 · 1800 阅读 · 0 评论 -
二叉树的构建、遍历及c++实现
文章目录二叉树遍历二叉树构建c++实现原码二叉树遍历二叉树有四种遍历方式,先序遍历、中序遍历、后序遍历和层次遍历,其中层次遍历类似于图结构里面的广度优先搜索BFS,先序遍历类似于深度优先搜索DFS。遍历的实现方式有两种,递归实现和非递归实现。不管采用递归实现还是非递归实现,都需要用到栈,区别在于一个用系统栈,一个是自定义栈结构,空间复杂度都有栈深度有关,为O(logn),由于每一个节点都需要遍历到,时间复杂度均为O(n)。有一种更高阶的遍历实现,完全不用栈结构,充分利用原有的二叉树叶子结点的左右原创 2021-05-02 14:15:40 · 2592 阅读 · 2 评论 -
常用排序算法之“归并排序”c++实现
文章目录归并排序介绍c++实现递归方式迭代实现c++源码及测试代码测试结果归并排序介绍归并排序(merge sort)算法采用了分而治之的策略,将大问题分解为小问题去求解,将小问题求解的结果进行合并形成大问题的解,核心在于归并算法。数据集一分为二,二分为四,… ,一直分解到单个数据集只有一个元素,然后进行归并,最终合并出一个有序的数据集。有两种实现方式,递归方式和迭代方式。时间复杂度:O(nlogn) (最好,最差,平均)。c++实现递归方式底层数据结构为数组,采用自顶向下的递归方式去实现,原创 2021-04-26 22:47:05 · 608 阅读 · 0 评论 -
彻底搞懂C++三种访问控制与继承方式
彻底搞懂C++三种访问控制与继承方式访问控制/访问权限/访问属性继承访问控制/访问权限/访问属性c++有三种访问权限,public,protected,private,三种访问权限限制了基类自身,派生类和外部(客户)对基类内部成员的访问,见下表:访问者\访问权限publicprotectedprivate基类自身可见可见可见派生类可见可见不可见外部可见不可见不可见可见代表可调用,不可见代表不可调用派生类对基类成员的访问权限与继承方式没有原创 2021-04-11 00:23:11 · 562 阅读 · 0 评论