C++ – 单例模式
转载自:Zhongtian‘s Technical Notes,如侵联删。 单例模式是使用最广泛的设计模式之一,其目的是保证一个类仅有一个实例,并提供一个访问它的全局访问点。 1 Eager Singleton class Singleton { public: static Singleton&a…
- C++
- 2023-08-25
C++ – std::vector初始化方式总结
本文将简单总结下std::vector初始化的几种方式。 1 std::vector初始化 1.1 使用值初始化std::vector #include<iostream> #include <vector> int main() { std::vector<int&g…
- C++
- 2023-08-21
C++ – websocket++不依赖boost,基于独立Asio编译方法
1 websocket++ WebSocket++ 是一个跨平台开源(BSD 许可证)仅标头 C++ 库,它实现RFC6455(WebSocket 协议)和RFC7692(WebSocket 压缩扩展),可基于WebSocket++编写Websocket客户端和服务器,其中Websocket++网络…
- C++
- 2023-08-18
C++ – const_cast, static_cast, dynamic_cast, reinterpret_cast四种cast转换的区别和使用
在C++中有四种形式的cast:const_cast、static_cast、dynamic_cast、reinterpret_cast。本篇文章将介绍什么时候和怎么样去使用这四种不同的cast。 1 const_cast const_cast用于将一个const常量转换为变量,或者将一个变量转为c…
- C++
- 2023-08-17
C++ – 令人迷惑的const关键字
最开始学习或者用C++编程的时候,看见const就犯难,真的令人头痛,特别是const和指针放在一起的时候,这篇文章我们就详细整理下有关const的知识点。 1 const 在C++中,const关键字一般用来修饰变量、引用、指针等,使用const关键字修饰后,他们就变成了常量,只能读不能写。但是c…
- C++
- 2023-08-15
C++ – String literal,字符串关键字R,L,u8,u,U的作用
1 C++中的String literal C++11推出了String literal(字符串字面量),字符串字面量是指由单引号,或双引号引起来的字符串。 C++11中包含了以下几种String literal, "" : Ordinary string literal L"" : Wide st…
- C++
- 2023-07-20
C++ – 速通nlohmann json,nlohmann json使用教程
1 nlohmann json开发环境配置 nlohmann json是一个C++、开源的,只有单个头文件的、高效快速的json操作库。 优点: 现代C++风格,语法直观,使用简单 没有复杂的编译、依赖关系,直接包含头文件即可 缺点: 并不是最快的json库 内存占用稍大 Github仓库:http…
- C++
- 2023-07-20
C++ – 基于no-boost Asio实现一个异步TCP服务器
1 什么是no-boost Asio no-boost Asio是指不依赖于boost的Asio版本,在使用时不需要依赖boost环境,只需要包含Asio的相关头文件即可。 关于no-boost Asio和boost Asio的区别可以查看我的另外一篇文章:C++ – Asio和Boost.Asio…
- C++
- 2023-07-19
C++ – Yolo的letterbox图片预处理方法,缩放图片不失真
1 letter box预处理方法 在yolo家族的一系列目标检测模型或者其他与视觉相关的深度学习模型的部署过程中,一般来说,如果导出的是静态shape的模型,那么我们先要将输入的图片resize到给定的图片大小,如果使用常规的resize方法,比如将一张1920x1080的图片resize到640…
- C++
- 2023-07-17
CMake – Windows系统设置CMake网络代理
Windows系统设置CMake代理 今天在编译OpenCV的时候,在下载opencv_ffmpeg.dll的时候就报错了,报错信息如下 CMake Warning at cmake/OpenCVDownload.cmake:202 (message): FFMPEG: Download faile…
- C++
- 2023-07-05
C++ – 主线程如何捕获子线程抛出的异常
1 C++抛出异常与捕获异常 在C++中我们经常使用以下代码抛出异常和捕获异常 #include <iostream> #include <thread> #include <exception> #include <stdexcept> int ma…
- C++
- 2023-06-30
OpenCV – OpenCV打开摄像头显示摄像头帧率
1 OpenCV打开摄像头显示摄像头帧率 通过OpenCV打开摄像头,并获取摄像头的视频帧进行显示或者继续进一步后处理,我们都希望显示当前的帧率,特别是对于实时性要求较高的应用,比如说实时目标检测,下面给出了一段显示OpenCV摄像头帧率的示例代码,可供参考。 #include <iostre…
- C++
- 2023-06-29