![](https://img-blog.csdnimg.cn/f71f1e811f8b4abbb5f5dbe41cfd4d87.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
文章平均质量分 65
C++基础知识
DLANDML
分享一些正在做的项目
目前正在学习机器学习和深度学习相关知识
目前是一名算法工程师
展开
-
为什么多线程读写 shared_ptr 要加锁?
陈硕(giantchen_AT_gmail_DOT_com)2012-01-28我在《Linux 多线程服务端编程:使用 muduo C++ 网络库》第 1.9 节“再论 shared_ptr 的线程安全”中写道:(shared_ptr)的引用计数本身是安全且无锁的,但对象的读写则不是,因为 shared_ptr 有两个数据成员,读写操作不能原子化。原创 2023-04-14 10:34:29 · 682 阅读 · 1 评论 -
配置基于WSL2的Docker环境并支持CUDA
如果update参数无效,没有更新wsl,则说明你没有使用预览版的windows系统,wsl的版本低。也许你从NVIDIA、Docker、Microsoft看到的文档中告诉你大于某个版本号就可以,但我建议你使用。介绍的,我们可以在windows10中使用linux子系统。今天本文介绍如何在此基础上安装Docker并支持在wsl中使用GPU。去Docker官网下载,请不要使用下面这个脚本。如果结果看起来如同下列所示,说明是OK的。开启你需要使用docker的wsl发行版。命令不起作用是正常的。原创 2023-04-10 10:35:05 · 1341 阅读 · 0 评论 -
class与namespace的区别
但 namespace 不存在这个问题,因为,namespace 中定义的变量,就是一个实体,在任何情况下(只要在可见域内),对namespace A,A::M 的写法都是允许的。namespace是开放的,和class不同的是你可以在多个文件里面象同一个namespace里面添加东西。,不过他是封闭的,也就是说你只能在一个文件里面定义class包含什么(通俗点讲,就是一个class只能有一个头文件);但namespace是开发的,可以追加内容,而class的定义是一次性的。原创 2023-04-09 19:07:24 · 781 阅读 · 0 评论 -
c++ opencv应用:颜色识别
环境配置:VS2015+opencv-4.1.1-vc14_vc15.exe(配置过程参考我的另一篇文章:vs2015配置opencv步骤及遇到问题 )彩色模型数字图像处理中常用的采用模型是RGB(红,绿,蓝)模型和HSV(色调,饱和度,亮度),RGB广泛应用于彩色监视器和彩色视频摄像机,我们平时的图片一般都是RGB模型。而HSV模型更符合人描述和解释颜色的方式,HSV的彩色描述...原创 2019-08-31 22:03:23 · 13757 阅读 · 0 评论 -
opencv的x64库的版本和vs的版本的对应关系
1 关于vs的版本visual studio是一个集成开发环境,而vc++是一个c++的compiler,vc++有一个版本和一个版本号,vs也有一个版本,它们的对应关系如下:MSVC++ 4.x _MSC_VER == 1000MSVC++ 5.0 _MSC_VER == 1100MSVC++ 6.0 _MSC_VER == 1200MSVC++ 7.0 _MSC_VER == 1300MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio 200原创 2020-08-30 20:44:23 · 941 阅读 · 0 评论 -
VS2015+OPENCV4.1.1读取视频并保存
VS2015+OPENCV4.1.1读取视频并保存vs2015配置opencv4.1.1请看我的另一篇文章:https://blog.csdn.net/l641208111/article/details/99929961代码如下:#include<iostream>#include<opencv2/opencv.hpp>#include "opencv2/...原创 2019-08-31 23:40:55 · 2304 阅读 · 0 评论 -
opencv利用zbar追踪并解码二维码
. 本次小玩意主要是运用opencv的图像识别技术,同时又用到了zbar。opencv相信大家应该比较熟悉了,我就不废话了我就给大家简单介绍一下zbar吧。ZBar 是款桌面电脑用条形码/二维码扫描工具,支持摄像头及图片扫描,支持多平台包括 iPhone 手机。同时 ZBar 提供了二维码扫描的 API 开发包。ZBar 目前支持扫描,除了 Windows 平台外,还支持 Linux ...原创 2019-08-22 15:44:22 · 469 阅读 · 0 评论 -
只要蓝天白云-strategy模式
#include <opencv2/core/core.hpp>#include<opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>using namespace cv;using namespace std;class ColorDetector{ private: int minDist; Vec3b target; ...原创 2020-08-25 19:45:56 · 103 阅读 · 0 评论 -
vs2015 c++数字图像处理基础编程(一)
一、图像的概念:图像:图像是像素点的集合图像的矩阵表示:灰度图像用二维矩阵表示颜色表:图像的颜色记录靠颜色表来完成,颜色表是一个存储颜色信息的数据库,依靠索引获取颜色;特别的,对于真彩色图像,每个像素占3个存储空间(24位)分别对于RGB,图像本身已包含颜色信息,无需颜色表彩色空间有三种:1、RGB:rgb以不同比例的线性运算构成彩色信息,有源物体一般采用RGB空间,rgb三基色相加模型2、CMY:无源物体采用CMY(Cyan/Magenta/Yellow,青/洋原创 2020-10-10 21:21:21 · 3252 阅读 · 0 评论 -
.net 2015 移植 2010报错解决方法
错误一:error MSB8020: The builds tools for Visual Studio 2010 (Platform Toolset = ‘v100′) cannot be found.error MSB8020: The builds tools for Visual Studio 2010 (Platform Toolset = ‘v100′) cannot be ...原创 2019-09-08 20:57:31 · 384 阅读 · 0 评论 -
各大厂算法岗面试题汇总之C++篇
目录1.new、delete、malloc、free关系2.delete与 delete []区别3.C++有哪些性质(面向对象特点)4.子类析构时要调用父类的析构函数吗?5.多态,虚函数,纯虚函数7.什么是“引用”?申明和使用“引用”要注意哪些问题?8.将“引用”作为函数参数有哪些特点?9.在什么时候需要使用“常引用”? 10.将“引用”作为函数返回值类型的格式、好处和需要遵守的规则?11、结构与联合有和区别?13.重载(overload)和重写(overrie原创 2021-04-02 20:51:02 · 126915 阅读 · 0 评论 -
Ubuntu下编写Cdemo
对于每个新手来说,进入Ubuntu最想做的事莫过于在终端(Terminal)里运行自己的第一个C/C++程序"hello.c/hello.cpp"了。很多语言书籍都是默认搭载好运行环境的,而Ubuntu默认是不包含编辑器vim和编译器gcc。假设你和我一样,展现在自己眼前的是一台刚安装好的Ubuntu电脑,下面我们将来实现自己的第一个程序。1.准备工作1.1 打开控制台:使用快捷键 C...原创 2019-08-30 14:28:15 · 291 阅读 · 1 评论 -
c++ 数组模板vector
vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件:#include<vector>;一、vector 的初始化:可以有五种方式,举例说明如下:(1) vector<int> a(10); //定义了10个整型元素的向量(尖括号中为元素类型名,它可以是任何合法的数据类型),但没有给出初值,其值是不确定的。 (2)vector<int> a(10,1);原创 2020-09-29 09:40:27 · 11283 阅读 · 0 评论 -
矩阵与转置
1.转置矩阵1.1转置矩阵简介把矩阵A的行换成同序数的列得到的新矩阵,叫做A的转置矩阵(Transpose of a Matrix),记作ATAT。例如:因此,转置矩阵的特点:(1)转置矩阵的行数是原矩阵的列数,转置矩阵的列数是原矩阵的行数;(2)转置矩阵下标(i,j)的元素对应于原矩阵下标(j,i)的元素。1.2实现使用二维数组作为矩阵的存储结构,根据转置矩阵的特点,很容易得到转置矩阵。/********************************...原创 2021-02-02 19:52:28 · 169806 阅读 · 0 评论 -
岗位需求
以下内容毫无逻辑,纯粹想起什么写什么!!课外阅读知识,不深究,纯粹喝茶娱乐只用。学习C++太难了??如果不是专职C++开发,无需了解全部,只要了解一下几方面的内容即可:1、能基本读懂常见的C++代码2、能使用基本的C++语法编程,如继承和重载,达到使用常用第三方C++库不受限制即可3、学会常用C标准库,如字符串、文件、线程关于SDL,在简介里面,有一些概念,但是很多人还是留言,不清楚到底是个什么。这节,我简单总结下:我们如何将一张图显示在屏幕上。这里简单的分为几个部分,硬件屏幕,原创 2020-08-25 08:20:02 · 147 阅读 · 0 评论 -
c++手写矩阵类
c++手写矩阵类实现矩阵的运算,只做理解用,实际工程还是用现成的库。类实现的矩阵功能有:矩阵的复制 将数组的值传给矩阵 矩阵的+ - x /操作 求解线性方程组Ax=b 求矩阵的行列式 求矩阵的逆矩阵 制造一个单位矩阵 矩阵转置的实现,且不改变矩阵 高斯消元法 github地址//main.cpp/*author: cclplusdate:2020/10/25if you think it is necessary to reward me,my qq.原创 2020-10-25 21:36:07 · 11680 阅读 · 0 评论 -
C++指针类型间强制转换
深入理解指针类型间的转换C++中指针的强制转换强制类型转换(int)、(int&)和(int*)的区别内存中的地址 地址的本质就是一串0和1的机器代码,内存中的地址没有明确数据类型,但地址值有类型,以32位编译器为例,内存中的地址是一个32位的整数。无论什么类型的指针变量,在内存中本质上都是一样的,都是一个整数值的地址值,该地址值可以转换为其他类型,比如float或char,但一般不要强转,此时已不再是合法地址而是一个单纯的数据值,除了没有意义外,还会出现数据读取错误(后...原创 2020-09-19 20:00:40 · 10204 阅读 · 1 评论 -
c++指针和引用区别
说道C++的指针,很多人都很头疼,也很confuse。经常把它和变量名,引用(reference)等混淆,其实这最主要的原因是很多程序员对于基本知识的掌握有问题,从而导致的很多基本概念的混淆。本文就是从最基本的概念讲起,着重分析和比较指针和引用。主要从以下几个方面着重的讲解:1. 变量(variable)的表现形式;2. 指针的结构和原理;3. 引用的结构和原理;4. 指针在Array中的应用和注意事项;5. 指针不能dereference的几种情况;一:变量的形式说道变量,很多转载 2020-12-14 20:01:03 · 275 阅读 · 0 评论 -
FFT是如何提高时间复杂度的
快速傅里叶变换(Fast Fourier Transform)是信号处理与数据分析领域里最重要的算法之一。我打开一本老旧的算法书,欣赏了JW Cooley 和 John Tukey 在1965年的文章中,以看似简单的计算技巧来讲解这个东西。本文的目标是,深入Cooley-Tukey FFT 算法,解释作为其根源的“对称性”,并以一些直观的python代码将其理论转变为实际。我希望这次研究能对这个算法的背景原理有更全面的认识。FFT(快速傅里叶变换)本身就是离散傅里叶变换(Discrete Four.转载 2021-02-20 00:26:25 · 131682 阅读 · 0 评论 -
Boost库的简介与安装
一、boost库简介boost库是一个功能强大,构造精巧,跨平台的免费的C++开源库。它使得C++编程更优雅、更有活力、更高产,C++11的标准有三分之二来自boost库。在boost1.57版本时,就一共包含了129个组件,分为25个大类,涵盖了文本处理,容器,迭代器,算法,图像处理,模板元编程,并发编程等许多领域。二、boost库的安装1、boost库的获取方式可以从boost官网上下载,网址是:http://www.boost.org/。本文使用的boost库是1.57版本,下载下来之原创 2021-04-24 19:28:13 · 143025 阅读 · 4 评论 -
missing template arguments before异常解决
helloworld.cpp:10:12: error: missing template arguments before 'msg' vector msg {"Hello", "C++", "World", "from", "VS Code!"}; ^~~helloworld.cpp:12:31: error: 'msg' was not declared in this scope for (const string& word : msg)...原创 2021-03-05 19:53:38 · 114962 阅读 · 0 评论