C++ – C++使用cuda api获取当前GPU显卡的总共的显存容量、已使用显存容量、剩余显存容量
1 C++使用cuda api获取当前GPU显卡的显存容量、已使用显存、剩余显存 在一些使用场景下,当我们的应用程序需要从显卡中开辟显存时,为了增加程序的健壮性,常常需要在开启程序的时候获取当前电脑是否有足够的显存,在这一层面,所有的系统都没有提供太好的公用api可供调用,所以需要使用N卡的cuda…
- C++
- 2021-10-29
C++11 – 解析并获取可变参数模板中的所有参数
1 C++11解析并获取可变参数列表中的所有参数 C++11的新特性--可变参数模板(variadic templates)是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个数、任意类型的参数。相比C++98/03,类模版和函数模版中只能含固定数量的模版参数,可变模版参数…
- C++
- 2021-10-27
C++11 – 封装std::thread,增加子线程启动、暂停、唤起、停止功能
1 封装std::thread,增加子线程启动、暂停、唤起、停止功能 C++标准库的std::thread已经为C++增加了很好的跨平台多线程编程体验,程序员只需要使用标准库std::thread就可以写出很好的多线程并发程序。但是在std::thread中对线程的控制需要自主控制。 我们经常会在子…
- C++
- 2021-10-21
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
C++11 – 使用std::thread在类内部以成员函数作为多线程函数执行异步操作
1 使用std::thread在类内部创建多线程函数 在有些应用场景下,需要在某个类中以某个成员函数作为异步线程函数,或者需要多线程去执行某个耗时操作的成员函数。在这种应用场景下,知道如何在类内部以成员函数创建多线程函数就是一个比较基础的问题。 1.1 代码示例 demo代码如下: #include…
- C++
- 2021-09-09
C++ – std::string与std::wstring相互转换
1 std::string与std::wstring相互转换 1.1 windows上的std::string与std::wstring相互转换 在Windows上,可以使用MultiByteToWideChar和WideCharToMultiByte函数来进行std::string和std::ws…
- C++
- 2021-08-20
计算几何 – C++计算两个二维向量的夹角
1 计算两个二维向量的夹角 #include <iostream> #include <cmath> struct PoseInfo { float x; float y; }; typedef PoseInfo Point2D; typedef PoseInfo Vecto…
- C++
- 2021-08-12
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