自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 Google C++代码规范

Google C++代码规范

2024-12-28 17:45:21 1245

原创 单例模式详解

简单介绍C++中的单例设计模式设计思路

2025-02-16 11:13:05 336

原创 QT6 + CMAKE编译OPENCV3.9

参考文档。

2025-01-23 10:21:24 631

原创 move移动语义详解

首先引入值类别的概念:C++11之前的值类别分为左值(Lvalue)和右值(Rvalue),而C++11引入了更细化的分类,包括纯右值(Prvalue)将亡值(Xvalue)和泛左值(Glvalue)左值:表示一个有持久地址的对象,可以对其取地址。int x = 10;纯右值:表示一个临时值或不占用持久存储的值。通常是字面量或计算结果,用于初始化或传递到函数。x + 5;将亡值:特殊的右值,表示即将“被销毁”的对象,可以通过移动语义转移其资源。通常出现在右值引用和std::move中。

2025-01-15 13:59:40 1032

原创 C++之流,流的本质?

​ 答:事物之间存在不必要的关系,就叫耦合;这种关系往往会引发双方进一步产生额外的牵制关系。

2025-01-12 15:14:24 477

原创 面向对象——多态、封装、继承、组合

介绍C++中面向对象中的面经

2025-01-11 12:48:17 927

原创 智能指针相关的常见面试题

智能指针本身在栈区,托管的资源在堆区,利用了栈对象超出生命周期后自动析构的特征,所以无需手动delete释放资源。(资源获取即初始化)确保资源在合适的时机被释放(构造函数中获取资源,析构函数中释放资源)相互引用,会导致循环引用问题,引用计数无法降到 0,资源无法释放。减少:(1)智能指针销毁(2)赋值新资源(3)函数返回时临时对象销毁。,但表现得像一个指针(指针所能做的操作,这个类也要全部允许)。:多个指针共享所有权,通过引用计数控制资源的释放。先简单介绍什么是智能指针:智能指针是一个。

2025-01-10 14:56:07 438

原创 定时器类QTimer的简单使用

QTimer类的使用

2025-01-09 21:01:06 402

原创 信号与槽的简单使用

简单的信号与槽的使用

2025-01-09 20:02:52 937

原创 QT中的字符串类型

简单介绍QT中的字符串类型

2025-01-09 15:45:54 881

原创 IO多路转接:epoll

介绍Socket中epoll协议的学习

2025-01-06 17:11:46 1199

原创 C++关键字总结

静态成员变量的声明在类内部,但是其定义必须在类外部定义来获得内存类类型::变量名使用位置存储位置作用域生命周期静态全局变量静态存储区当前文件程序开始到程序结束全局变量静态存储区全局作用域,跨文件可访问程序开始到程序结束静态局部变量静态存储区定义它的块或函数内程序开始到程序结束局部变量栈区函数或块内有效函数或块开始到结束静态类成员变量静态存储区类内或通过类名访问程序开始到程序结束类成员变量对象内存(堆区或栈区,取决于对象的存储位置)对象作用域随对象生命周期而定。

2025-01-06 15:06:35 1037

原创 IO多路转接:select

select学习及其API介绍与使用

2025-01-02 16:56:19 751

原创 基于TCP的Qt网络通信

介绍QT中network模块的相关API和信号

2024-12-29 22:05:47 851

原创 Linux套接字通信学习

套接字对应程序猿来说就是一套**网络通信的接口**,使用这套接口就可以完成网络通信。

2024-12-29 15:28:33 875

原创 SDL2音视频播放的常用API库

SDL2关于音视频方向的一些API函数进行简单的归类

2024-12-27 21:10:06 965

原创 FFMPEG解码+SDL2播放视频

本项目通过FFmpeg对音视频进行解码,得到原始数据格式AVFrame,再通过SDL2在窗口渲染图像数据进行播放。配置环境:vs 2022 + FFmpeg5.0 + SDL2 2.28项目源码:https://github.com/say-Hai/FFmpeg-videoPlayDemo/tree/PlaySDL2。

2024-12-27 16:38:14 741

原创 QTDemo:串口调试工具

本项目通过QT框架设计一款可以在Windows、Linux等平台的跨平台串口助手,串口功能能够满足基本的调试需求。本项目采用的版本为:QT5.14 + visual studio 2022 进行开发。项目源码:https://github.com/say-Hai/MyCOMDemo。

2024-12-27 15:08:33 1172

原创 QT + FFMPEG实现简易播放器

通过vs2022 + QT5.14 + ffmpeg5.0+进行开发视频播放器,采用ffmpeg对视频流进行解封装后转成QImage,再通过paintEvent绘图函数将其绘画到窗口。

2024-12-26 22:01:39 817

原创 FFMPEG结构体分析

1] 结构体分析:https://www.cnblogs.com/linuxAndMcu/p/12041578.html#_label2[2]

2024-12-26 20:35:34 1373

原创 FFmpeg 的常用API

ffmpeg视频编解码流程:https://www.cnblogs.com/fxw1/p/17229792.html常用API:https://www.cnblogs.com/linuxAndMcu/p/12041359.htmlFFmpeg各版本区别:https://juejin.cn/post/7261245655128424509。

2024-12-25 22:04:53 589

原创 C++侯捷- ★ const关键字

const关键字在C++中不同位置的使用

2024-12-25 20:35:57 261

原创 音视频入门知识(七):时间戳及其音视频播放原理

读入内存中的比特流在什么时候开始送入解码器中进行解码。

2024-12-25 20:27:23 644

原创 音视频入门知识(六):消息获取模式篇

当通知消息来之时,。客户端无需主动请求数据。服务端一直监听某个端口,当客户端有数据要发送时,就推到这个端口上给服务端。

2024-12-25 20:26:52 553

原创 音视频入门知识(五):流媒体篇

在视频或音频,最初。例如H.264、H.265、AAC、MP3等编码格式:每个ES流只包含一种类型的数据,如编码后的视频帧或音频帧。:ES流本身不包含显示或播放的时间信息(这些信息通常在多路复用后的容器中添加)。

2024-12-25 20:26:15 617

原创 音视频入门知识(四):封装篇

H264封装成mp4、flv等格式,那为什么需要封装?​ h264也能播放,但是按照帧率进行播放,可能不准。

2024-12-25 20:25:36 1221

原创 音视频入门知识(三):音频篇

音视频入门:音频篇相关知识

2024-12-25 20:23:52 634

原创 音视频入门知识(二)、图像篇

视频基本要素:宽、高、帧率、、码率、分辨率​ 其中码率的计算:码率(kbps)=文件大小(KB)*8/时间(秒),即码率和视频文件大小成正比YUV和RGB可相互转换。

2024-12-25 17:05:33 977

原创 音视频入门知识(一):基本概念篇

通过特定的压缩技术,将某个视频的视频流格式转换成另一种视频格式的视频流方式。

2024-12-25 17:04:57 469

原创 nginx-rtmp服务器搭建

采用` nginx/1.18.0`和`nginx-rtmp-module`模块源代码搭建`RTMP`流媒体服务器

2024-12-21 14:21:44 1480

原创 OOP面向对象编程:类与类之间的关系

三大关系:复合(适配器设计模式)、委托(桥接设计模式)、继承。

2024-12-20 16:04:08 527

原创 C++拷贝构造、拷贝赋值、析构函数

浅拷贝在复制过程中,仅复制对象的内存地址或其基本属性值,而不是其深层关联的数据结构。对于包含指针或动态分配内存的对象,浅拷贝不会分配新的内存,而是直接复制指针地址。C++中默认的拷贝赋值即为浅拷贝,因此必须要有实现深拷贝。

2024-12-20 15:58:22 467

原创 临时对象的构造/析构

产生临时对象的三种情况

2024-12-20 15:52:03 264

原创 Clion导入第三方库所遇到的问题

原因:所编写的CMakeLists.txt文件错误,连接第三方库时写错了!# 注意下面的区别,不要用错函数。

2024-01-12 23:12:26 1523

原创 计算机网络复习思维导图

计算机网络思维导图思维导图原文件,百度网盘:https://pan.baidu.com/s/1DmVAcG_Ae9RAy21HLmg8Mg 提取码:wts7学习计算机网络网课:高军 湖南科技大学

2020-12-10 16:36:10 647 3

原创 在IDEA中配置并运行Maven项目

Maven工具的作用统一管理项目所依赖的所有jar包并且具有极好的兼容性自动解决jar包的重复和冲突问题Maven的使用方法当程序员想要从Java的第三方库下载导入包时,传统做法是从网上的中心仓库下载jar包并导入到项目环境中。而使用maven工具只要在中心仓库找到所需包的maven代码导入到pom.xml文件即可在IDEA中构建Maven项目新建Maven空白项目查看maven项目中各个包所存储的内容项目文件夹:存放项目代码,如java文件资源文件夹:存放项目所.

2020-11-16 18:51:27 4748

原创 Maven的安装和配置

1.下载Maven,下载地址选择你所需要下载的版本(bin为windows系统,tar为Linux系统)2. 选择Maven的压缩地址3. 配置环境变量新建MAVEN_HOME环境变量名在path中添加maven中bin文件夹的路径(你也可以使用%MAVEN_HOME%\bin)3. 在cmd窗口查看安装是否正确输入:mvn -v查看,maven版本信息...

2020-11-16 17:22:17 355

原创 Java 两种基本列表详解

Java的两种列表List:列表有序的Collection允许重复元素允许嵌套:{1,{1,2},1,2}ArrayList:以数组实现,不支持同步利用索引快速定位访问插入删除慢,因为每次插入/删除将会使后面元素向后/前移动适合变动不大,主要用于查询的数据和数组相比,其容量大小可动态调整LinkedList:以双向链表实现,不支持同步可被当作堆栈、队列、双端队列进行操作顺序访问高效,随机访问差插入和删除高效,因为只需改变元素指针,而无需移动元素适用于经常变化的数据

2020-11-06 21:28:44 1668

原创 String基础用法大总结

String类是Java中最常用的类,下面是String的常用方法的总结。(注:除了以下列出的方法之外,还有许多的重载方法,可以去Java API中查看) 方法名 返回类型 作用 charAt(int index) char返回指定索引的值

2020-11-01 17:01:33 194

原创 可变对象和不可变对象传递参数的区别

基本类型传值当函数参数是基本类型时,是传值的。public static void changeValue(int a) { a = 10; }/*--------------------------------------*/int a = 5; //基本类型changeValue(a);上面代码实参a = 5,将值传给形参a = 5,执行函数后,形参 a = 10,实参的a 不变对象传递指针不可变对象String类型不可变对象只会改变其指针的指向,而不会修改其值

2020-10-25 11:36:34 655

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除