自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 C++的接口与实现隐藏

定义一个接口类用作父类,在定义一个工厂类让子类的实例化都被隐藏,这样在后续对实现的类的调用 就不用包含任何关于实现类的代码或文件。2.子类实现了父类的虚函数后,父类的指针指向了子类的实体,调用父类中声明的函数实际会被虚函数表重定向到子类。可以看到在main文件或者其他需要调用的模块中是不会出现实现的.h和.cpp及内部方法的。具体的实现类,要被隐藏的实现,这个文件不会对外暴露,外界也不在需要。以上就实现了C++的接口 也做到了关键实现类的方法和成员的隐藏。1.当子类继承父类时,子类就有了父类的所有方法。

2024-04-10 20:42:17 246

原创 C/C++函数的参数传递

变量就是一个内存空间上地址的体现,定义了一个变量,这个变量就能存储这个变量类型大小的数据,编译器在后续针对该变量的处理也会遵照该变量定义的类型。是一样的都是存储了一个数据(只不过指针存的那个数据是一个地址),当给指针赋值后就产生了2个地址一个地址是指针变量本身的地址(任何变量都有的在内存空间上的地址)另一个地址就是指针变量存储的那个数据地址(被理解成地址的数据num变量所在内存空间的地址)在func内部形参param = num的地址,所以操作*param 就相当于在num变量的地址上做操作一样。

2024-03-27 16:29:41 193

原创 不能用memcmp来比较结构体

结构体成员要遵守内存对齐原则,所以当出现设计的结构体因为内存对齐而补了字节后,在用memcmp来比较两个结构体就会出来bug,因为memcmp是逐字节比较的,而我们的结构体因为存在补齐的字节(这部分字节的数值是该内存使用过后的垃圾数值,具体内容不定义)所以就会出现明明结构体成员都是一样的但是memcmp还是告诉你两个结构体不同。

2023-12-14 17:06:30 121

原创 C++的强制类型转换

static_cast 是“静态转换”的意思,也即在编译期间转换,转换失败的话会抛出一个编译错误。一般用于如下:用于数据的强制类型转换,强制将一种数据类型转换为另一种数据类型。用于基本数据类型的转换。用于类层次之间的基类和派生类之间指针或者引用的转换(不要求必须包含虚函数,但必须是有相互联系的类),进行上行转换(派生类的指针或引用转换成基类表示)是安全的;进行下行转换(基类的指针或引用转换成派生类表示)由于没有动态类型检查,所以是不安全的,最好用 dynamic_cast 进行下行转换。

2023-12-14 16:55:36 53

原创 C/C++的常量指针和指针常量的区别

常量指针本质上是个指针,只不过这个指针指向的对象是常量。特点:const 的位置在指针声明运算符 * 的左侧。只要 const 位于 * 的左侧,无论它在类型名的左边或右边,都表示指向常量的指针。(可以这样理解:* 左侧表示指针指向的对象,该对象为常量,那么该指针为常量指针。指针指向的对象不能通过这个指针来修改,也就是说常量指针可以被赋值为变量的地址,之所以叫做常量指针,是限制了通过这个指针修改变量的值。虽然常量指针指向的对象不能变化,可是因为常量指针本身是一个变量,因此,可以被重新赋值。

2023-12-14 16:30:53 52

原创 C++的指针指向类成员函数

参考链接:https://leetcode.cn/leetbook/read/cmian-shi-tu-po/vdlag5/指向对象成员的指针,包括指向对象成员函数的指针和指向对象成员变量的指针。特别注意:定义指向成员函数的指针时,要标明指针所属的类。来源:力扣(LeetCode)

2023-12-14 16:18:47 79

原创 C/C++ 左值和右值:区别、引用及转化

指表达式结束后依然存在的持久对象。可以取地址,可以通过内置(不包含重载) & 来获取地址,我们可以将一个右值赋给左值。

2023-12-14 14:55:26 130

原创 C/C++创建对象限制在堆或栈

C++ 中的类的对象的建立分为两种:静态建立、动态建立。静态建立:由编译器为对象在栈空间上分配内存,直接调用类的构造函数创建对象。例如:A a;动态建立:使用 new 关键字在堆空间上创建对象,底层首先调用 operator new() 函数,在堆空间上寻找合适的内存并分配;然后,调用类的构造函数创建对象。例如:A *p = new A();如何限制你设计的类只能在堆内存中创建?

2023-12-14 14:17:40 42

原创 C/C++中的重要的宏定义

意思是__mptr的地址减去member在该struct中的偏移量得到的地址, 再转换成type型指针. 该指针就是member的入口地址了。TYPE是某struct的类型 0是一个假想TYPE类型struct,MEMBER是该struct中的一个成员. 由于该struct的基地址为0, MEMBER的地址就是该成员相对与struct头地址的偏移量.其中(void) (&_max1 == &_max2);

2023-12-13 15:55:05 14

原创 C/C++的sizeof

sizeof算的是字节、strlen计算的是字符串长度sizeof是编译器内置函数,作用在编译期间,由编译器计算并替换数值strlen是库函数,作用在函数运行期间,在程序运行时计算并替换数值sizeof不对输入的表达式进行计算,只是推导输入的表达式的类型,从而计算占用。

2023-12-13 15:19:41 18

原创 C/C++关键字:volatile 的应用场景

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S

2023-12-13 14:36:31 93

原创 涂鸦的BK7231N下载框架之后编译不过,没有主动下载编译工具链问题

2023-07-17 22:44:43-- https://airtake-public-data-1254153901. …正在连接 airtake-public-data-1254153901.cos.ap-shanghai.myqcloud.com。airtake-public-data-1254153901.cos.ap-shanghai.myqcloud.com,使用“–no-check-certificate”。---------完成:tuyaos kernel下载---------

2023-07-18 10:21:51 213

转载 linux内核中队列链表采用的是嵌入式方式,将队列或链表的结构嵌入到数据结构中,通过嵌入的队列或链表的结构来反推出数据。

转载:linux内核中队列链表采用的是嵌入式方式,将队列或链表的结构嵌入到数据结构中,通过嵌入的队列或链表的结构来反推出数据。

2023-02-04 21:03:25 153

原创 在涂鸦平台用WBR3做二次开发 平坑记录

涂鸦平台针对WBR3做基于OS的二次开发

2023-01-31 15:23:22 1000

原创 【无标题】

ubuntu16.04安装jpeglib,make install出现错误

2022-12-06 10:02:38 582

原创 K210之亚博的板子也能用maixpy

K210之亚博的板子也能用maixpy遇到的问题遇到的问题想用k210做一个人脸识别的项目,人脸识别像opencv那样,可以在线录入人脸信息,也可以在线删除人脸信息,也能在线识别人脸信息,据目前的探索(用的也是官方提供的人脸识别的模型)来看,k210也就是能识别出来人脸,具体识别是谁,精度太差太差,不知道有没有其他大神有新的方法,当然这也是题外话,先说说怎么用吧1. ,机器码是运行模型的必要条件,模型都是加密的,需要根据机器码来下载属于自己的专用模型,也就是说自己的机器只能用属于自己的模型,机器码怎

2021-10-14 11:08:02 5700 13

原创 基于STM32C8T6的RTX系统的网络时间日期天气显示

基于STM32C8T6的RTX系统的网络时间日期天气显示@TOC背景想做一个基于RTX系统、支持本地时间显示、本地温湿度显示、网络时间校准、网络日期校准、网络天气查询显示的一个网络多功能时钟。下图为最终的样式和功能展示。介绍想利用stm32f103c8t6做控制器,通过对dht11传感器的数据交互获取实时的环境温湿度、通过对ds1302时间模块的数据交互获取本地时间,但是经验告诉我ds1302虽然有掉电保护,有纽扣电池,但是时间也常常不准,怎么才能校准时间呢,就想到了网络于是esp8266就来了,利

2021-08-30 21:54:55 2233 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除