- 博客(26)
- 收藏
- 关注
原创 C++ unique_ptr、shared_ptr、weak_ptr全面解析
对make出来的智能指针和new出来的智能指针的区别做了详细介绍,同时对shared_ptr和weak_ptr之间的关系做了全面剖析
2025-03-31 21:19:15
899
原创 音视频编码和封装格式
视频是连续的图像序列,由连续的帧构成,一帧即为一幅图像。由于人眼的视觉暂留效应,当帧序列以一定的速率播放时,我们看到的就是动作连续的视频。由于连续的帧之间相似性极高,为便于储存传输,我们需要对原始的视频进行编码压缩,以去除空间、时间维度的冗余。音频编码是一种将音频信号转换为数字形式的过程,目的是减少数据中的冗余,以便存储和传输。音频编码的实质是通过抽样、量化和编码三个步骤,将连续变化的模拟信号转换为数字编码。视频编码是将视频数据从一种格式转换为另一种格式的过程。
2025-02-25 22:29:22
1055
原创 C++ 关于虚函数的一些碎碎念
如果基类的析构函数不是虚函数那也不会报错,但是在工程上是的,方法实现了多态,否则容易出现这种类似问题实现一个基类AB1和B2继承A类场景模拟,由于构造哪个类由传参决定,所以返回的是基类此时就会出现问题,Drop函数里delete只调用了基类的析构函数,但是没有调用子类的析构函数,造成内存泄露所以为了防止这种情况产生,将基类的虚构函数设置成virtual就能调用到子类的虚构函数。
2024-12-27 16:12:46
978
原创 超详细!手撕C++线程池!(大家圣诞节快乐呀!!)
充分利用C++新特性,通过智能指针管理线程和任务对象的生命周期,通过条件变量condition_variable来进行任务通知,以及通过promise来异步获取任务的返回
2024-12-25 22:11:11
532
原创 new和malloc、delete和free的区别
分析了五点new和malloc的区别,同时提到free是怎么知道要释放多少空间和malloc是怎么分配内存的这两点题外话
2024-12-24 17:17:47
454
原创 Makefile学习(四)提取makefile的公共部分,简化makefile
简化项目中的makefile,提取出公共部分放在另外的makefile,便于移植和维护,同时用到wildcard、patsubst、notdir、strip等函数
2024-10-30 11:33:46
849
原创 在windows和Linux上实现TCP通信(二)
对客户端进行connect,select,send做了详细分析,对每一步的函数和用到的参数都有详细解释
2024-10-15 17:42:02
1784
原创 C++报错:未知重写说明符
当时还是找了很久都没找到原因,因为头文件也应用了,而且这个类也不是像其他文章说的那样继承来的。为了防止重复编译,一般不会把using namespace std;昨天学C++的时候遇到了一个报错:提示我某个成员是未知重写说明符,这时候就要注意是否在需要的声明时加上std::!加上以后我这里的问题就解决啦。
2024-10-05 11:10:57
507
原创 C++(基础查漏补缺(1))—>指针
类是一种用户定义的类型,类对象通常包含数据成员和成员函数,这些成员需要在对象被正确构造后才能被访问。而其实在使用int* i的时候也是一样的道理,如果不使用写 i = new int 也是不能直接用的。最近在学c++的类的时候发现当创建了一个类以后还要再new一个类空间才能使用。之前的C/C++基础一直很弱,所以打算再跟着再仔细学一遍C++之前学C的时候当定义一个指针基本上都是直接指向了一个有效对象。类型对象的指针,但此时这个指针并没有指向任何有效的。类的对象,并将该对象的地址赋给。操作符动态分配了一个。
2024-10-04 11:58:40
188
原创 avcodec_send_frame 函数传入空 frame进行 flush 操作
为什么要通过avcodec_send_frame 函数传入空 frame来进行 flush 操作
2024-10-02 10:12:26
481
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人