
C++
文章平均质量分 59
ihmhm12345
这个作者很懒,什么都没留下…
展开
-
2023-07-10 cmake管理的项目中使用vcpkg管理第三方库
从Github上克隆Vcpkg仓库然后执行安装命令即可:安装自己需要的第三方库。原创 2023-07-10 19:04:43 · 808 阅读 · 0 评论 -
2023-3-13 经纬度距离计算公式
在网上找了好久才找到正确的经纬度距离计算公式,而且是较高精度的计算。原创 2023-03-13 23:43:28 · 552 阅读 · 1 评论 -
2022-09-22 std::bind 使用时使用函数传参的问题
前几天用到了std::bind(),就随便在baidu上搜了一下就开始使用了,结果使用过程中才发现百度上搜到的资料都巨坑,最终还是在[https://en.cppreference.com/w/cpp/utility/functional/bind](https://en.cppreference.com/w/cpp/utility/functional/bind) 找到最正式的说明,才解决问题原创 2022-09-22 10:07:07 · 372 阅读 · 0 评论 -
2022-05-27 利用RAII机制优雅解决问题
文章目录RAII机制原理解决问题RAII机制原理RAII,即Resource Acquisition Is Initialization,在初始化中获取资源。RAII机制,通过在栈上创建临时变量,这样临时变量就接管了堆上内存的控制权,当该临时变量声明周期结束时,则对应的堆上内存自然就被释放了。我们在代码中最常用的就是智能指针解决问题有时候我们可能需要记录程序的运行过程,最简单也是最直接的方式是在每个函数里打印记录进入函数和退出函数,但这样的代码只要一改动就很容易出错,可以利用RAII解决这类问原创 2022-05-27 10:18:23 · 154 阅读 · 0 评论 -
[FFmpeg] AVPacket 的使用记录(初始化、引用、解引用、释放)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、先看下与AVPacket相关的几个重要函数1.AVPacket *av_packet_alloc(void)2. int av_new_packet(AVPacket *pkt, int size)3. void av_packet_free(AVPacket **pkt)4.int av_packet_ref(AVPacket *dst, const AVPacket *src)5.void av_packet_unref原创 2021-04-08 13:43:34 · 3909 阅读 · 0 评论 -
shared_ptr 的使用及测试
先上两段代码:class A{public: A() { qDebug() << this; } ~A() { qDebug() << this; } void print() { qDebug() << this; }};void testfunc(shared_ptr<A> s){ qDebug() << "ptr addr:" << s.get() << "count:"原创 2021-03-31 11:08:50 · 286 阅读 · 0 评论 -
Qt网络延时测试(QTcpSocket,QUdpSocket)
首先说明,测试不一定严谨,只是为了记录测试过程为了能有对比性,这里采用了asio1.18.1作为服务端,分别使用qtcpsocket和asio进行测试测试在本机测试 127.0.0.1一.测试tcp创建asio tcp服务器端,接到数据后立刻返回到发送端创建asio tcp客户端,发送数据,打印接收数据和发送数据间的时间差(微秒级)创建qtcpsocket 客户端,使用信号槽方式接收数据,发送数据,打印接收数据与发送数据间的时间差(微秒级)结果如下asio tcp client:qtc原创 2021-01-06 10:10:01 · 3548 阅读 · 0 评论 -
学习记录UML笔记
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.泛化关联2.读入数据总结前言学习记录一下UML类图一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.泛化泛化表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系(1)继承继承表示一个类(子类,子接口)继承另外一个类(父类,父接口)的功能,并可以增加它自己的新功能的能力继原创 2020-09-08 10:53:37 · 220 阅读 · 0 评论 -
Qt qDebug 可变长参数
qDebug() 可变长参数的使用上代码:#ifndef XLOG_H#define XLOG_H#include <stdio.h>#include <QDebug>#define XLOGD(format, ...) \ {原创 2020-06-15 17:31:05 · 1384 阅读 · 0 评论 -
Qt qmake 条件判断的坑
Qt qmake中可以使用条件判断来加载不同项,如:DEFINES += FFMPEG_4_2_2contains(DEFINES, FFMPEG_4_0_2){ message("ffmpeg4.0.2 64bit")}contains(DEFINES, FFMPEG_4_2_2){ message("ffmpeg4.2.2 64bit")}#可正常判断但contains 的括号如果另起一行,则不能正常打印。如DEFINES += FFMPEG_4_2_2contains(DE原创 2020-05-12 18:28:58 · 1828 阅读 · 0 评论 -
Qt官方案例map知识点分析
此案例实际是在讲QtConcurrent的使用方法,但里面也有许多知识点#include <QImage>#include <QList>#include <QThread>#include <QDebug>#include <QGuiApplication>#include <qtconcurrentmap.h>...原创 2020-01-03 10:01:03 · 471 阅读 · 0 评论 -
c++中无名命名空间的使用
突然使用到无名命名空间,查询后,记录以下文章取自,本文章只做备份记录 c++中无名命名空间的使用1. 命名空间作用命名空间是程序设计者命名的内存区域,程序设计者根据需指定一些有名字的空间域,把一些全局实体分别存放到各个命名空间中,从而与其他全局实体分隔开。通俗的说,每个名字空间都是一个名字空间域,存放在名字空间域中的全局实体只在本空间域内有效。名字空间对全局实体加以域的限制,从而合理的解决...转载 2019-12-31 16:11:18 · 272 阅读 · 0 评论