
Pl ◎ C/C++
文章平均质量分 85
C/C++编程语言介绍
丶布布
视觉工程师、人工智能领域优质创作者、内容合伙人、优快云博客专家、阿里云专家博主。目前工作涉及视觉相关的缺陷检测、定位识别、芯片封装方面、深度学习、3D视觉等方面的内容,欢迎大家一起学习交流。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[C++] std::map的介绍和使用
丶布布转载注明出处。原创 2025-03-05 11:07:18 · 516 阅读 · 0 评论 -
[C++规范] 访问类成员变量的方式:直接访问还是通过成员函数访问?
在面向对象编程(OOP)中,通过成员函数(如`ME_HardwareTypeEnum Type() const;` 和 `int Id() const;`)来访问类的私有或受保护成员(如`m_hardwareType` 和 `m_id`),而不是直接通过公共成员访问,是一种更好的做法。原创 2024-08-26 23:00:00 · 16739 阅读 · 0 评论 -
[Library] 动态库的使用及其版本管理
(附加依赖项中指定的库文件名称必须与附加库目录中实际存在的库文件。原创 2024-08-20 13:00:20 · 1812 阅读 · 0 评论 -
[C++] 获取工程路径、解决方案路径和.exe路径
文章预览:💦 获取工程路径💦 获取解决方案路径💦 可执行文件路径💦 返回不带有可执行文件名的路径💦 总结💦 获取工程路径法一: TCHAR pBuf[MAX_PATH]; ...原创 2022-03-29 20:37:32 · 2519 阅读 · 18 评论 -
[C++] 多个模块实时公用一个类中的成员变量
创建的MFC程序中后,会自动生成一个app类,在这个类中声明变量,然后在主程序中用app类的对象调用声明的变量(还可以通过指针形式调用),具体实施步骤如下:1.在app类声明变量: HTuple hv_WindowHandle2.在app类中声明完之后,主程序和其他类就可以通过theApp.hv_WindowHandle形式调用...原创 2019-08-23 16:06:33 · 2359 阅读 · 1 评论 -
[C++] static静态成员变量/函数的用法
1. 回顾成员变量(1)通过==对象名==能够访问`public`成员变量。(2)每个对象的成员变量都是专属的,成员变量不能在对象之间共享。这么看,如果多个对象想操作同一个数据,从目前来看只能使用全局变量(每个对象都可以操作全局作用域的全局变量),但是这样存在安全隐患,在现代软件开发中不推荐这种方式。那么,有没有其它更好的方式呢?............原创 2022-03-04 09:56:36 · 2938 阅读 · 0 评论 -
[C++] 强制类型转换(dynamic_cast和dynamic_Pointer_cast)
1、指引或者引用的向上转换,向下转换例如基类Father ,Son继承Father,派生类Son.。Father—>Son则为向下转换,Son—>Father则为向上转原创 2022-02-17 19:09:27 · 1466 阅读 · 1 评论 -
[C++] 互斥锁(unique_lock、lock_guard)
线程锁的含义与分类 顾名思义,线程锁一般用在多线程中。当多个线程运行,并共享了同一块资源,在访问这块资源的时候就称为原创 2022-02-16 19:07:22 · 4156 阅读 · 0 评论 -
[C++] 智能指针(shared_ptr、unique_ptr)
前言智能指针是行为类似于指针的类对象,单这种对象还有其他功能。本文介绍三个可帮助管理动态原创 2022-02-15 15:54:55 · 628 阅读 · 0 评论 -
[C++] enum枚举类型用法
C ++包含许多内置数据类型。 但是对于我们想要做的事来说,这些类型有时并不够用。 因此,C ++允许程序员创建自己的数据类型。 这些数据类型称为用户定义数据类型。也许最简单的用户定义数据类型就是枚举类型(Enumerated Types)。 枚举类型中每个可能的值都定义为符号常量(称为枚举器)。一、为什么用枚举在了解其语法之前,先看看枚举怎么个用途,是否有学的必要呢?其实枚举是很实用的一个工具,主要体现在代码阅读方面。设想这样一个场景,一个项目,写了上千行,有些常量类型,只有几个固定的取值,在写的原创 2020-09-02 20:01:47 · 7347 阅读 · 0 评论 -
[C++] #ifndef和#define与#pragma once在头文件中的作用和关系
作用:防止文件被多次编译,浪费不必要的时间在一个工程里,多个 .cpp文件包含了同一个 .h文件,那么这个.h文件的开头和结尾就应该加上#ifndef 、#define和#endif组合,当编译第一个包含该.h文件的.cpp文件的时候,该.h文件会被编译,因为#ifndef条件成立,但当编译后续的时,由于执行过#define了,#ifndef条件就不成立了,该.h文件就不会被编译了。头文件结构形如下:#ifndef XXX#define XXX…#endif...原创 2020-09-24 14:43:57 · 486 阅读 · 0 评论 -
[C++] 面向对象的三大特性:封装、继承和多态
在类的定义中,前面有 virtual 关键字的成员函数称为虚函数;virtual 关键字只用在类定义里的函数声明中,写函数体时不用。class Parent { private: int a = 20; public: parent (int a) { this—>a = a; cout<<"parent a :"<< }};int Base::Fun() // virtual 字段不用在原创 2020-09-10 08:09:54 · 1022 阅读 · 0 评论 -
[C++] 多态和函数重载的关系
多态是面向对象编程的概念,比如有一个变量 animal引用一个 Animal类型的对象,Animal类上有一个方法叫shout,那么调用animal的shout方法会执行什么函数呢?要看运行时animala引用了什么类的对象,因为不光 Animial类的对象可以被 animala引用, Animial所有的子类(比如dog、Cat、Tiger)都可以被 animal引用,对应的,如果animal实际上引用的是Dog类对象,调用的就是Dog类的shout。这种对一个类对象函数调用只有在运行时才确定调用什么类函转载 2020-09-09 16:01:32 · 2032 阅读 · 0 评论 -
[C++] 结构体Struct类型和变量定义
一:struct 和typedef struct的区别 1.首先介绍一下C语言的用法://定义一个结构体类型//定义一个数据类型,固定大小内存块的别名,还没有分配内存struct Teacher{ int age;};void main(){ struct Teacher Zhang; //告诉C编译器给我分配内存}注意:这里不能省略struct (C++可以),可以采用下面重定义的方式省略struct//定义一个结构体类型//定义一个数据类型,固定大小内存块的别名,.原创 2020-09-09 09:57:15 · 15630 阅读 · 0 评论 -
[C++&C] Struct 和Typedef Struct的区别
1.首先介绍一下C语言的用法://定义一个结构体类型//定义一个数据类型,固定大小内存块的别名,还没有分配内存struct Teacher{ int age;};void main(){ struct Teacher Zhang; //告诉C编译器给我分配内存}注意:这里不能省略struct (C++可以),可以采用下面重定义的方式省略struct//定义一个结构体类型//定义一个数据类型,固定大小内存块的别名,还没有分配内存//重定义typedef struct Te原创 2020-09-08 08:15:59 · 2892 阅读 · 0 评论 -
[C++] include头文件双引号““与尖括号<>的区别
#include <> 和 #include “” 都会在实现定义的位置查找文件,并将其包含。区别是若 #include “” 查找成功,则遮蔽 #include <> 所能找到的同名文件;否则再按照 #include <> 的方式查找文件。另外标准库头文件都放在 #include <> 所查找的位置。一般来说 #include <> 的查找位置是标准库头文件所在目录, #include “” 的查找位置是当前源文件所在目录。不过这些都可由编译原创 2020-07-28 08:25:00 · 1185 阅读 · 0 评论 -
[C++&OpenCv] 两点距离、三点角度的计算
#include <opencv/cv.h> #include <opencv/highgui.h> #include <stdio.h> //#include <atlstr.h>#include <opencv2\core\core.hpp>#include <opencv2\highgui\highgui.hp...原创 2019-05-28 21:21:17 · 6851 阅读 · 0 评论 -
[C++] 对二维数组中的二维坐标点x,y进行排序
问题描述:一个足够大的二维数组a[ ][2]中,存放了n对坐标,例如第一个坐标是(5,6),那么a[0][0]=5,a[0][1]=6,依此类推,将存放的这些坐标对,按照纵坐标从小到大的顺序进行排列。输入:(1,25)(20,36)(4,18)(23,15)(22,5)输出:(22,5)(23,15)(4,18)(1,25)(20,36)代码:按纵坐标大小排序#incl...原创 2019-05-11 09:11:57 · 10004 阅读 · 0 评论 -
[C++] 点到直线的最大、最小距离
1)求出点到直线的距离,并存入容器dis中,已知直线的系数a,b,c已知:vector<double>dis;for(int i =0;i<size;i++) { double d1 = a * points.at(i).x+b * points.at(i).y+c; double d2 = sqrt(a*a+b*b); double d = sqrt(d1/d2*d...原创 2019-05-08 14:52:28 · 2903 阅读 · 0 评论 -
[C++] 多个点存入到容器的方法
描述:我说的将多个点存入容器,不是自己手动一个点一个点的存,那样感觉很蠢,而且换一张和之前点数不一样的图片后就不行了,不具有普遍性。解决:首先定义一个结构:#include “vector”struct Point { double x; double y; };然后,没改之前的程序是下面这样的,vector<Point> points;Point ...原创 2019-05-08 12:13:04 · 1546 阅读 · 4 评论 -
[C++] 提取字符串中的所有数字并组成一个数
思路:利用ASCII中“0-9”,小写字母、大写字母的顺序,实现。原创 2019-03-20 08:54:38 · 5330 阅读 · 0 评论