随笔分类 - C/C++
用于积累经验,查漏补缺
摘要:一:FFmpeg音视频处理流程 案例: 二:FFmpeg命令基本分类 官方网站:https://ffmpeg.org/documentation.html 官方文档:https://ffmpeg.org/ffmpeg.html (一)基本信息查询命令 详细见:https://www.jianshu.
阅读全文
摘要:基于Ubuntu16.04 一:FFmpeg的下载 (一)git命令下载源码(太慢) git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg (二)官网下载源码:http://www.ffmpeg.org/download.html (三)文件解压 ta
阅读全文
摘要:一:libevent的编译安装 (一)下载地址 https://libevent.org/ (二)编译安装 ./configure --prefix=/usr/local/libevent sudo make && sudo make install 二:libevent基础知识学习 (一)重要函数
阅读全文
摘要:基于传输层TCP协议,自定义实现一个应用层协议 一:回顾JsonCpp C++通过JsonCpp读取Json文件 网络编程字节序转换问题 二:实现自定义应用层 (一)协议分类 1.按编码方式 二进制协议:比如网络通信运输层中的tcp协议。 明文的文本协议:比如应用层的http、redis协议。 混合
阅读全文
摘要:一:大小端 (一)大小端区别(字节) 区别是依据:计算机系统在存储数据时起始地址是高地址还是低地址。 小端:从低地址开始存储 大端:从高地址开始存储 补充:这里大小端是按字节区别的,还有按字的。按字节,则字节大小数据不会改变数据格式,所以如上图中小端“1”,和大端“1”是一样存储的 补充:在内存中存
阅读全文
摘要:一:下载Jsoncpp库 https://sourceforge.net/projects/jsoncpp/ 下载源码解压之后得到jsoncpp-src-0.5.0文件夹: 我们只需要jsoncpp的头文件和cpp文件。 其中jsonscpp的头文件位于jsoncpp-src-0.5.0\inclu
阅读全文
摘要:一:问题引出 (一)建立了两个集合对象(不是一个) (二)将集合s1放入map中(并未将s2放入map) (三)我们直接比较s1和s2(发现结果确实是两种相等) (四)我们单独修改s1,之后使用==与s2比较(发现两种不同) 二:源码分析(符号重载) (一).集合继承于_Tree (二)._Tree
阅读全文
摘要:一:常用的查找算法 (一)adjacent_find():邻接查找 (二)binary_search():二分查找 (三)count和count_if: (四)find和find_if:同上 二:常用的排序算法 (一)merge() (二)sort():使用如上 (三)random_shuffle(
阅读全文
摘要:一:适配器简介 (一)函数适配器简介 (二)绑定适配器(bind adaptor) (三)组合适配器(composite adaptor) (四) 指针函数适配器(pointer adaptor) (五)成员函数适配器(member function adaptor) 二:函数适配器辅助函数 三:常
阅读全文
摘要:一:函数对象(仿函数):实现状态记录等其他操作<相对于普通函数> (一)一元函数对象案例:实现数据显示 普通函数调用: 仿函数调用: (二)二元函数对象案例:实现两个数相加 仿函数实现: 二:谓词:实现过滤 (一)一元谓词案例 回调函数实现:判断string对象长度是否大于6 仿函数实现:找出被某个
阅读全文
摘要:一:算法概述 二:算法分类 (一)根据操作对象分类 (二)根据功能分类 1.非可变序列算法:指不直接修改其所操作的容器内容的算法 2.可变序列算法:指可以修改它们所操作的容器内容的算法 3.排序算法: 包括对序列进行排序和合并的算法、搜索算法以及有序序列上的集合操作 4.数值算法: 对容器内容进行数
阅读全文
摘要:一:理论提高 二:STL容器特点 (一)除了queue与stack外,每个容器都提供可返回迭代器的函数,运用返回的迭代器就可以访问元素。 (二)通常STL不会丢出异常。要求使用者确保传入正确的参数。 (三)每个容器都提供了一个默认构造函数跟一个默认拷贝构造函数。 三:各个容器使用时机 (一)dequ
阅读全文
摘要:一:无序容器简介 二:性能测试 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <stdio.h> #include <cstring> #if _MSC_VER #define snprintf _snprintf #end
阅读全文
摘要:一:map/multimap的简介 multimap与map的区别:《重点》 二:map/multimap对象的默认构造 三:map对象的拷贝构造与赋值 四:map排序方式 五:map的插入操作《重点》 在map中插入元素的四种方式: 1、通过pair的方式插入对象 2、通过pair的方式插入对象
阅读全文
摘要:一:仿函数functor介绍 二:自定义仿函数 三:greater简易实现 四:02--STL算法(函数对象和谓词)《后续》
阅读全文
摘要:一:set/multiset的简介 multiset与set的区别: 修改值时需注意: 二:set/multiset对象的默认构造 三:set对象的拷贝构造和赋值 四:Set集合的元素排序 五:set对象的插入 六:set对象的迭代相关函数 七:set大小 八:set的删除 九:set的查找 十:补
阅读全文
摘要:一:Array了解 注意: 二:array构造 三:array元素存取 四:array赋值操作 五:迭代相关函数 六:性能测试 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <stdio.h> #include <cstri
阅读全文
摘要:一:优先队列priority_queue简介 (一)和队列相比 同: 异: 补充:元素之间比较 (二)重点:同vector,deque,list,以及queue比较 二:优先队列priority_queue的构造 案例1:默认最大值优先 案例2:修改比较方式 三:优先队列常用操作 四:自定义比较结构
阅读全文
摘要:补充: 注意:list和forward_list都有自己的sort排序方法,所以排序时最好使用自带的sort方法,节省时间 一:List (一):List双向链表简介 list是一个双向链表容器,可高效地进行插入删除元素。 list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符。It
阅读全文
摘要:总括: 一:栈Stack (一)栈的简介 (二)栈的默认构造 (三)栈的出栈进栈操作push和pop《重点》 补充:top()返回栈头数据(但是数据不出栈),所以top和pop联用 (四)栈的拷贝构造及赋值 (五)数据遍历:stack和queue不提供迭代器,所以想要获取数据,必须依次取走数据 (六
阅读全文

浙公网安备 33010602011771号