![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 63
q2nAmor
QT/C++、opengl、opencl、音视频
展开
-
【开源项目】bcf,一个好用的客户端协议通信框架
分享一个自己最近写的开源库,本来的目的是服务于我们组,方便开发中小型客户端软件的。名字叫bcf,是一个适用于客户端的协议通信框架。原创 2024-09-03 10:30:41 · 350 阅读 · 0 评论 -
C++调用openssl实现国标sm2签名算法的使用
因为国产化原因,项目中需要使用国标sm2签名算法对文件进行签名和验签。OpenSSL 1.1.1版本提供了对国密SM2算法的支持,在之前的版本openssl不支持,所以大部分都采用开源库 gmssl。gmssl3已经脱离了openssl的依赖,现在是一个比较小的支持国密算法和ssl协议的三方库。关于gmssl的使用可以参考它的源码链接,还是比较简单的,但是本文没有使用gmssl,而是使用openssl1.1.1版本中的sm2的支持。原创 2023-12-13 18:05:22 · 2905 阅读 · 3 评论 -
惊喜!C++ 现代化json库nlohmann更高效的使用方式
nlohmann 这个库其实早在2019年项目中已经开始使用了,没有问题,这些库一般都不会进行升级。最近在新的项目中也需要用Json解析,然后再去它的官网上过了一遍ReadMe,发现了一些提高效率的新功能。链接: 也提到了,感兴趣的可以看看)。这种方法的优点是可以自己控制每个字段,比如字段名和结构体成员变量名可以不同,字段解析时可以增加自己的处理逻辑等等。但对于90%的使用场景来说,只想要一个简单的结构体解析,上面的方法就显得特别的繁琐。原创 2023-12-12 20:53:05 · 1156 阅读 · 0 评论 -
lambda技巧之—如何在有多个判断分支的情况下,还能优雅的使用auto& ?
很无奈的情况下我们必须将 auto& 退化成指针,本来简单的 clazz.a 的引用也要变成 &clazz.a ,且操作符 “.” 也要变成"->“,此时不知道屏幕前的你是否也感受到了一点代码的"臭味道”。C11的写法中,decltype 可以根据捕获参数 clazz 推导出此lambda的返回值类型,而如果使用C14即以上,lambda返回值直接使用auto&就行了。Perfect,得益于 IIFE 的好处,我们幸运的保留的 auto& student的写法,而不用再改成丑陋的指针了。原创 2023-12-08 11:00:19 · 394 阅读 · 0 评论 -
扔掉sql语句,用 QxOrm 让你的数据库操作从来没有这么简单过!
扔掉sql语句,用 QxOrm 让你的数据库操作从来没有这么简单过!ORM 全称是 Object Relational Mapping(对象关系映射),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。原创 2023-12-07 11:12:32 · 1225 阅读 · 0 评论 -
C++结合Android解码&渲染的通用方法
本文简单记录了在C++场景下如何在android上复合渲染或者如何前后端分离解码和渲染。原创 2023-01-09 14:42:43 · 264 阅读 · 1 评论 -
C++ Best Practices 翻译与阅读笔记
偶尔看到这篇文章,感觉还不错,收藏起来原文:https://zhuanlan.zhihu.com/p/427778091?utm_source=com.tencent.wework&utm_medium=social&utm_oi=833246304019836928转载 2022-02-18 11:22:26 · 207 阅读 · 0 评论