C++11 – 快速学会正则表达式
转载自:https://ayaka.shn.hk/cppregex/ 1 概述 C++ 中正则表达式通常使用 R"(...)" 的形式,相当于 Python 中的 r"...",保证字符串内部的 \ 等字符不被转义。但是,R"(...)" 中的 () 是语法的一部分,一定不要当成字符串里面的内容。例…
- C++
- 2021-11-22
C++11 – 构建一个符合实际应用要求的线程池
1 什么是线程池 线程池从本质上可以看做是一个多生产者多消费者的多线程应用。 一个线程池包括以下四个基本组成部分: 线程池管理器:用于创建并管理线程池,包括创建线程池,销毁线程池,添加新的工作线程,添加工作任务; 工作线程:属于线程池中的线程,用于处理实际任务,在没有工作任务时等待,在任务队列不为空…
- C++
- 2021-11-08
C++ – C++使用cuda api获取当前GPU显卡的总共的显存容量、已使用显存容量、剩余显存容量
1 C++使用cuda api获取当前GPU显卡的显存容量、已使用显存、剩余显存 在一些使用场景下,当我们的应用程序需要从显卡中开辟显存时,为了增加程序的健壮性,常常需要在开启程序的时候获取当前电脑是否有足够的显存,在这一层面,所有的系统都没有提供太好的公用api可供调用,所以需要使用N卡的cuda…
- C++
- 2021-10-29
C++ – C++实现Python numpy的矩阵维度转置算法,例如(N,H,W,C)转换为(N,C,H,W)
1 C++实现Python numpy的矩阵维度转置算法,例如(N,H,W,C)转换为(N,C,H,W) 1.1 python中使用numpy进行矩阵维度变换 在python中常常使用numpy的transpose对矩阵的维度进行转换,这里以(N,H,W,C)转换为(N,C,H,W)为例,请看一下代…
- C++
- 2021-10-15
C++ – 函数返回多个返回值的方法总结
1 C++函数如何像python一样返回多个返回值 使用过python的童鞋都知道,在python单个函数中可以返回多个函数值,比如: # -*- coding: utf-8 -*- def return_muliti_value(): return 1,'helloworld',[1,2,3] i…
- C++
- 2021-10-13
C++ – 判断本机文件是否存在的方式总结
C++ - 判断本机文件是否存在的方式总结 由于C++没有像python那样方便的os.path官方库,经常面临着判断一个文件是否在本机上存在都不易用,今天就总结下C++下判断本机文件是否存在的一些方法。 1 通用方法 1.1 使用std::ifstream判断 #include <iostr…
- C++
- 2021-09-15
C++11 – 委托机制的实现TinyDelegate
1 使用C++11实现委托机制 1.1 TinyDelegate类 1.1.1 代码 TinyDelegate.hpp #ifndef TINY_DELEGATE_H #define TINY_DELEGATE_H #include <functional> #include <c…
- C++
- 2021-09-09
Mediapipe – Windows10 编译Mediapipe C++版本保姆级教程
1 Windows10编译Mediapipe C++版本 Win7我按照底下的步骤试了一下,在bazel编译的时候总是报: ERROR: SymlinkDirectories(C:/Users/Administrator/_bazel_Administrator/install/7e447298f5…
- 姿态估计
- 2021-08-09
C++ – std::map正向遍历与反向遍历的几种方式
1 std::map正向遍历 1.1 for循环 #include <iostream> #include <string> #include <map> int main() { std::map<int, std::string> t_Map; t…
- C++
- 2021-05-21
C++11 – 使用std::thread::join()/std::thread::detach()方法需要注意的点
1 调用std::thread::join()方法等待线程退出时的示例问题程序 #include <iostream> #include "conio.h" #include <memory> #include <thread> #include <atom…
- C++
- 2021-02-26
C++11 – 使用std::chrono计算程序、函数运行时间
1 使用std::chrono计算程序运行时间 参考代码如下: #include <iostream> #include <string> #include <chrono> void Run() { for (int i = 0; i < 10000000…
- C++
- 2021-02-05
C++ – 线程安全的std::cout
1 线程安全的std::cout 最近在多个子线程中使用std::cout输出日志信息发现std::cout不是线程安全的,无法保持线程同步,导致日志信息无法按照固定顺序输出,现象如下: 所以对std::cout做了一个封装以保证多线程之间的同步,代码如下: #include <iostrea…
- C++
- 2021-02-01