C++学习
CPFelix
计算机视觉
展开
-
进程与线程(代码对比)
下面是抽象类比:单CPU:一台单核处理器计算机 = 一个车间;多CPU:一台多核处理器计算机 = 一座工厂;进程:一个车间 = 一个进程; (即一个运行的程序)多进程:一座工厂可以同时运行多个车间;CPU和进程:单CPU只能同时运行单个进程,多CPU可以同时运行多个进程。线程:车间内一个工人 = 一个线程;进程与线程:一个进程可以包括多个线程。线程间内存共享:车间的空间是工人们共享...原创 2020-03-18 09:31:09 · 647 阅读 · 1 评论 -
shared_ptr(智能指针)
只要将 new 运算符返回的指针 p 交给一个 shared_ptr 对象“托管”,就不必担心在哪里写delete p语句——实际上根本不需要编写这条语句,托管 p 的 shared_ptr 对象在消亡时会自动执行delete p。而且,该 shared_ptr 对象能像指针 p —样使用,即假设托管 p 的 shared_ptr 对象叫作 ptr,那么 *ptr 就是 p 指向的对象。sh...原创 2020-03-02 16:16:11 · 201 阅读 · 0 评论 -
空指针和未初始化的指针的区别
1.为什么指针变量定义时一定要初始化?因为你首先要理解一点:内存空间不是你分配了才可以使用只是你分配了之后使用才安全。为什么要进行对指针初始化呢?因为指针未被初始化,所以指针所指向的也是随机的,他是个野指针,如果你引用指针,并修改这个指针所指向的内容,而如果这个指针所指向的内容恰好是另外一个程序的数据的话,你将其进行修改了,就会导致另外一个程序可能不能正常运行了。2.指针变量初始化为N...原创 2020-02-23 13:47:28 · 1015 阅读 · 0 评论 -
LNK2001:无法解析的外部符号
编译C++时候报“无法解析的外部符号”,一般就是你引用的第三方库时候未设置其对应静态库的路径。我们引用第三方库时,需要进行指定依赖项配置,若没有进行相关配置,则编译器会出现“LNK2001: 无法解析的外部符号”错误。这个是最常见的问题,具体步骤:项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib...原创 2020-02-23 09:25:40 · 2101 阅读 · 0 评论 -
图片作图代码(C++)
1.矩形框1.1使用对角线的两点pt1,pt2画一个矩形轮廓或者填充矩形void rectangle(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, int thickness = 1, int ...原创 2020-02-20 15:52:10 · 2201 阅读 · 0 评论 -
C++ this指针(直戳本质)
为了能让大家看清 this指针的本质,我们会先讲一点C++的历史——C++ 程序到C程序的翻译过程。C++ 程序到C程序的翻译C++ 是在C语言的基础上发展而来的,第一个 C++ 的编译器实际上是将 C++ 程序翻译成C语言程序,然后再用C语言编译器进行编译。C语言没有类的概念,只有结构,函数都是全局函数,没有成员函数。翻译时,将 class 翻译成 struct、对象翻译成结构变...转载 2020-02-17 11:43:26 · 230 阅读 · 0 评论