- 博客(30)
- 收藏
- 关注
原创 从0到1手把手学会c++——第五天
本文介绍了C++中的模板编程技术。函数模板通过template<typename T>定义通用函数,可处理不同类型参数,避免函数重载的重复定义。类模板使用template<class T>创建通用类,如比较类Compare,支持不同类型数据的操作。模板参数可以是类型或常数值,并支持默认参数。此外还介绍了STL标准模板库的三大组件:算法(algorithm)、容器(container)和迭代器(iterator),以及常用容器如vector、list、set、map等的特性。
2025-08-12 10:12:19
316
原创 从0到1手把手教会C++——第四天
摘要:友元机制允许不同类或函数共享数据,但会破坏封装性。友元函数可直接访问类的私有成员,需在类内用friend声明。友元类则使一个类的成员能访问另一个类的所有成员。运算符重载通过operator函数实现,需遵循特定规则:不能创建新运算符、不改变优先级和操作数个数等。常见重载包括算术运算符、自增/减、输入输出等。友元函数和友元类为特殊访问权限提供了解决方案,而运算符重载则扩展了运算符对自定义类型的支持。
2025-08-11 10:41:55
333
原创 从0到1手把手教会c++ ——第三天
本文介绍了面向对象编程中的继承机制及其相关概念。主要内容包括:1)类的单继承和多继承,通过继承可以减少代码重复;2)三种继承方式(public/protected/private)及其对成员访问权限的影响;3)构造和析构函数的调用顺序;4)多继承中的环状继承问题及虚继承解决方案;5)虚函数和虚表机制实现多态;6)纯虚函数和抽象类的使用场景;7)虚析构函数解决基类指针释放子类对象时的内存泄漏问题。文章通过具体代码示例展示了继承、多态等核心概念的实际应用。
2025-08-07 11:00:12
597
原创 从0到1手把手学会c++ ——第二天
本文摘要: C++函数重载允许同名函数通过参数列表区分,但不能依赖返回值类型。函数默认参数应在声明时设置,后续参数必须同步默认。面向对象编程以对象为核心,通过类定义数据类型,对象是类的实例。类内存空间取决于非静态数据成员和虚表大小。构造函数与类同名,无返回值,对象创建时自动调用;析构函数以~开头,对象销毁时调用。拷贝构造函数处理对象复制,默认浅拷贝需注意深拷贝问题。文章通过代码示例演示了函数重载、类定义、构造函数应用等核心概念,并提供了相关练习题目。
2025-08-06 10:23:13
374
原创 从0到1手把手教会c++ ——第一天
本文介绍了C++编程语言的核心知识点。首先概述了C++的发展历程,由Bjarne Stroustrup于1982年创建,1998年成为标准C++。接着讲解了C++开发环境搭建、预处理与头文件使用,以及基本的输入输出操作。重点阐述了指针与动态内存分配的区别,详细介绍了new和delete操作符的使用方法。文章还深入讲解了命名空间的概念及其四种应用形式,包括嵌套命名空间和匿名命名空间。最后详细解析了引用的特性,包括引用作为参数、常引用和引用返回值,并与指针进行了比较。文中包含多个实践练习,帮助读者巩固所学知识。
2025-08-05 11:04:08
466
原创 OpenHarmony 嵌入式开发指南_Hi3863
《Hi3863鸿蒙OS开发攻略》摘要 本攻略详细介绍了基于华为LiteOS物联网操作系统的Hi3863开发板应用开发方法。主要内容包括: 开发环境搭建:需掌握LiteOS系统、LwIP网络基础和C语言编程,推荐使用HiSpark Studio工具链,包含Python、CMake等组件安装指南。 硬件特性:开发板集成WiFi6/BLE模块、OLED显示屏、传感器接口等外设,适合物联网应用开发。 系统架构:Hi3863运行HarmonyOS LiteOS-M内核,采用CMSIS-RTOS2标准接口,讲解从Boo
2025-07-28 10:40:12
2175
原创 完全0储备小白快速上手学会鸿蒙应用开发-第十三天-检测数据更新、侧滑、数据监听器
HarmonyOS应用开发中,@State装饰器只能检测第一层数据变化。当修改嵌套对象(obj.son.age)或数组元素(ps[0].name)时,界面不会自动刷新。解决方法包括替换整个对象(this.ps[0]={...})或使用@Watch监听器。组件生命周期中的aboutToAppear可用于初始化操作,ListItem的侧滑功能可通过swipeAction实现删除等操作。数据变化时,监听器会自动触发回调函数执行相关逻辑。
2025-07-25 11:12:25
371
原创 完全0储备小白快速上手学会鸿蒙应用开发-第十二天-年度目标案例
原因:这个组件里接收数组时用的是@Prop,而这是单向数据流,也即它内部改变只影响自己,不影响到父。因为三大组件都要用,放在某一个组件里都不合适,所以最好放到他们共同的父组件也即 Index里,然后。因为要用到对象,而用对象之前要写声明这种类型对象的接口,但是这种接口多个文件里都要用,三大组件,现在他们都需要使用这个数组,因此声明变量保存,三大组件代码都如下。组件能让它的内容进行滚动,还能带侧滑功能,特别适合我们当前这个案例。,且设置主轴方向的元素居中,背景颜色为白色,宽百分。
2025-07-18 11:39:29
902
原创 完全0储备小白快速上手学会鸿蒙应用开发-第十一天-组件化开发
默认情况下,子组件里声明的参数,父传递过来后,这个值不会随着父的数据改变而改变。装饰的成员变量,当父传递数据过来后,父的数据改变会流入到子,同样子对数据进行改变,也会流入到父。快捷键:在保证组件导出的情况下,你直接在需要用的地方写组件名按回车,会自动帮你生成导入。默认情况下,在组件里定义的成员变量父组件调用时,能看到这个参数不含糊。,只能是父的数据改变自动流入到子,但是子里对数据进行操作改变,不 会流入到父。以后,父的数据一旦改变,则子的数据也跟着改变。组成界面的一部分就叫组件。包含别的组件的,叫父组件。
2025-07-17 11:32:49
420
原创 完全0储备小白快速上手学会鸿蒙应用开发-第十天-Scroll与Tabs
this.scroller.scrollEdge( Edge.Top | Edge.Bottom ) 这个叫滚动到边缘,到顶、到底,且带动 画效果。换实心图需要再准备实心的图片,并多一个选中图片当做参数传递,然后根据当前索引判断是否选 中,决定显示实心图或空心图。原因:只有默认的导航才能点谁谁高亮,现在用了自定义,也即自己代码怎么写就怎么显示,而自。以后得真实开发都是:一个页面会封装一个文件里做成一个组件,这样的好处是分门别类,适合阅。此时存在问题:用了自定义导航后,不管点哪个导航,被选中的都没有高亮。
2025-07-16 17:20:02
914
原创 完全0储备小白快速上手学会鸿蒙应用开发-第九天-Swiper与Grid
默认情况下开启了循环播放:也即最后一张的下一张可以切换到第一张,第一张的上一张可以切换到最后一张。注意:不能既设置列数又设置行数,如果都设置了永远无法滚动,不足显示的部分被舍弃掉了。selectedItemHeight:设置选中状态的点的高度。selectedItemWidth:设置选中状态的点的宽度。selectedColor:设置选中状态的点的颜色。ItemHeight:设置默认状态点的高度。只设置行,意味着只自动计算了每一项的高度,宽度需要自己设置。color:设置默认状态的点的颜色。
2025-07-15 15:32:11
554
原创 完全0储备小白快速上手学会鸿蒙应用开发-第八天-定时器、颜色渐变、开车游戏
使用定时器时要注意:如果把开启定时器的代码,放到一个按钮里,这个按钮可能会被用户连续点。击多次,这样就会产生多个定时器,要保证点这个按钮永远只有一个定时器的话,就要开启新的之。很多时候,一些组件用的样式是一模一样的。通过写完一个箭头发现,其他箭头也要一样的代码,为了减少代码冗余,则封装成函数。在开启定时器时,会返回一个这个定时器的标记,这个标记就是定时器的。只要自己不写代码停止它,它就会一直间隔执行,直到退出这个。声明的函数写到组件的外面去了,这种就是全局的。一般情况下,我们不会写全局的,一般都是局部的。
2025-07-09 10:33:57
340
原创 完全0储备小白快速上手学会鸿蒙应用开发-第七天-Stack层叠布局、形变、动画
默认情况下,在同一个区域里,如果位置重叠,都是后面写的组件覆盖前面的组件。未来的开发中,界面上的数据大概率是一种数组,但是数组中每个元素又是一个对象。改位置:相对于自身原本位置的左上角来做定位,并且定位后,依然保留着原本位置。未来的数据可能是从服务器请求回来的,服务器返回的数据是什么就渲染什么。改位置:相对于父组件的左上角来做定位,并且定位后,不保留原本的位置。很多时候,我们需要数组有多少个元素就产生多少个组件,那就要用到。数字给的是角度,正顺时针旋转,负数逆时针旋转。,就遵循后面的层级更高。
2025-07-08 11:19:46
287
原创 完全0储备小白快速上手学会鸿蒙应用开发-第六天-ArkUITS语法再学之类型转换、条件渲染、循环
分析:你要计算1,2,3,4,5的相加的和,就意味着需要先拿到1,2,3,4,5这几个数字,但是上面的循环不科学,因为写死了次数,那它就刚好用在只有长度为4的数组上,万一数组以后多。在遍历里,判断当前元素是否大于擂台上的数,如果大于,就让当前元素站到擂台上,如果不大不。例:重复吃包子吃三次,但是吃到第二个的时候里面有虫子,就不吃了,但是还要继续吃下一个。根据观察我们发现:数组有7个,循环条件就要小于7,数组有3个,循环条件就要写小于3。先设立一个擂台,假设数组的第一个元素就是最大的,把它放到擂台上。
2025-07-01 10:15:02
474
原创 完全0储备小白快速上手学会鸿蒙应用开发-第五天:ArkUITS语法再学
有多个条件,它会从上往下依次判断,满足某个条件就执行某个条件里面的代码。它会从上往下依次判断每个条件,如果哪个条件满足,就执行这个条件里的代码,不执行后面的。: 作用:在自身的基础上再加上某个值,最后结果赋值给自己。: 作用:在自身的基础上再减上某个值,最后结果赋值给自己。: 作用:在自身的基础上再乘以某个值,最后结果赋值给自己。: 作用:在自身的基础上再除以某个值,最后结果赋值给自己。: 作用:在自身的基础上再取余某个值,最后结果赋值给自己。: 赋值号,作用:把右边的结果赋值给左边。
2025-06-25 10:48:04
360
原创 完全0储备小白快速上手学会鸿蒙应用开发-第四天:ArkUI高阶基础
Password:密码框,会让输入的内容变小圆点,以及多了一个查看密码的图标。声明在组件外的变量叫全局变量,顾名思义:它在这个文件里的所有组件中都能用。声明在组件内的变量叫组件的成员变量,顾名思义:它只能在这个组件范围内使用。确实能设置子组件在交叉轴的排列,但是它是统一设置的。就是装饰器,它描述了函数,让函数具有了特殊作用:也即它本来不能封装组件,但是用了。事件:指的是应用接收到了用户的操作,继而要有什么反应去反馈用户的操作。点击:如果是电脑上是鼠标点左键,触摸板上轻按,移动设备上按压。
2025-06-24 10:10:19
534
原创 2025年鸿蒙应用开发工程师学习路线
鸿蒙应用开发工程师:2024年鸿蒙免费学习资料放送180多个配套学习视频。在过去的时间里,为了帮助更多的人线上充电,学会更多技能,百思鸿状发布了200多个视频,包含鸿蒙鸿蒙应用开发教程等。简略版鸿蒙开发学习路线图:(下方链接点开进入课程当中)这是一套面向从无编程经验快速上手学习鸿蒙Next开发的课程。理论与实践结合,每个知识点都有一个对应的案例加强理解和运用。力求每个学习者不光懂知识点,并且会“用”知识点。鸿蒙应用开发工程师:能够参与多终端APP开发,包括但不限于代码编写、调试、测试等。
2025-06-20 17:16:21
1064
原创 2025年鸿蒙嵌入式开发工程师学习路线
开源鸿蒙系统开发工程师:在过去的时间里,为了帮助更多的人线上充电,学会更多技能,百思鸿状发布了200多个视频,包含鸿蒙鸿蒙应用开发教程等。简略版鸿蒙系统开发学习路线图:(下方链接点开进入课程当中)本教程旨在深入讲解OpenHarmony开源鸿蒙系统的开发语言技能-C语言,通过丰富的实战案例,帮助学员掌握嵌入式OpenHarmony系统的核心开发语言技能。
2025-06-20 17:15:53
1552
原创 完全0储备小白快速上手学会鸿蒙应用开发-第三天:ArkUI布局基础
如果要设置四个方向的内间距,且值一样,可以就写数字.padding(数字。如果四个方向都要设置,且间距一样,可以就简写为数字,例。可以设置四个方向,要哪个方向就写哪个。特点:会让他的子组件,从上往下依次排列(垂直方向排列),除了直接给数字,还可以给百分比,代表它要占父盒子宽度、高度的百分比。如果一个组件是正方形的也即宽高一样,这时候如果四个角的圆角设置。设置交叉轴的属性是:.alignItems()有多少个,就代表一共多少份,然后分成多少分里面的几分之几。也可以设置百分比,这时候圆角半径就是宽度的百分比。
2025-06-18 15:38:11
747
原创 完全0储备小白快速上手学会鸿蒙应用开发-第二天:ArkTS语法与ArkUI组件
数组虽然能保存多个数据,只能保存同一种类型,而且数组取值的时候不利于看出取的是什么属性。例: 假如我们把姓名、年龄都存到数组里了,你取值时是用下标来取, 数组[0] // 不直观,不。例:如果我们封装了一段对任意数求平方的函数,但是你需要把数字传给函数,函数才知道算哪个 数的平方,这就需要参数。实参:调用函数时写在小括号里的,因为这个时候参数是具体的值了,所以叫实参。如果声明函数时后面没加冒号这部分,代表可以有返回值,也可以没有返回值,并且如果有返回。如果一段函数的执行,依赖了外部提供数据,就需要参数。
2025-06-18 11:10:36
573
原创 完全0储备小白快速上手学会鸿蒙应用开发-第一天:ArkTS基础语法
string: 字符串,单引号、双引号、反引号包起来的都是字符串。如果相加两方有一个是字符串,那么得到的结果一定是字符串,并且这个字符串内。如果一个变量由多个单词做成,建议除了第一个单词外,其余单词首字母大写(驼峰命名法)安装后第一次打开,会出现以下提示(问是否要导入配置),我们这里没有配置,直接按。面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作。: 字符串型,所有的文字都属于字符串型,在代码中用单。内置的关键字:就是编程里,预先提供好的具有特殊含义的字符。
2025-06-04 16:15:34
962
转载 鸿蒙应用开发从入门到入行 - 第九天(完结)-鸿蒙(HarmonyOS)原生AI能力之文本识别
在之前开发中,很多场景我们是通过调用云端的智能能力进行开发。例如文本识别、人脸识别等。原生即指将一些能力直接集成在本地鸿蒙系统中,通过不同层次的AI能力开放,满足开发者的不同场景下的诉求,降低应用开发门槛,帮助开发者快速实现应用智能化概念:将图片中的文字给识别出来使用实现文本识别仅能识别5种语言类型简体中文、繁体中文、英文、日文、韩文使用步骤导入textRecognition实例化visionInfo对象,用来准备待识别的图片(需PixelMap类型)pixelMap: '待识别图片'
2025-03-31 16:21:54
122
转载 鸿蒙应用开发从入门到入行 - 第八天:Tabs选项卡页签视图切换
你是否经常在移动端应用里见到如下菜单分类,例如下面两图像这样的不管是在上,还是在下的菜单分栏功能,在HarmonyOS应用开发中都是可以使用Tabs组件实现每当某个Tabs里的菜单切换后,页面内容也会跟着改变,如下图Tabs组件可以在一个页面内快速实现视图内容的切换具体怎样使用呢?我们接着往下看我们很多应用的底部导航栏,其实一般除了标题文字外,还会附带图标,例如下图这时候需要我们使用@Builder装饰器自定义导航栏的布局后,再传递给tabBar如下代码.width(30)
2025-03-31 16:19:09
121
转载 鸿蒙应用开发系列文章:第七天 - 数据监听器、滚动、侧滑功能
在应用开发中,少不了需要向云端发送请求进行交互,这就需要进行网络通信。在HarmonyOS中,把所有跟请求有关的能力全部放入了NetworkKit(系统内置网络服务工具包)里,因此用之前需要先导入目前HarmonyOS支持如下几种方式网络请求http通过HTTP发起一个数据请求。WebSocket使用WebSocket建立服务器与客户端的双向连接。Socket通过Socket进行数据传输。网络连接管理。
2025-03-31 16:17:56
115
转载 鸿蒙应用开发系列文章:第六天 - 数据监听器、滚动、侧滑功能
我们本次继续完成这个年度计划案例,并依然通过需求驱动的方式学习新知识点,整体效果如下回顾:上一篇文章我们已经完成了TodoMain的显示,并且完成了从TodoItem里修改完成状态后,也能同步到TodoMain,目前案例还差TodoHeader与TodoInput部分未完成上篇问到:在本案例中TodoItem里的数据打勾变化后(完成状态变化),TodoMain已经能成功收到改动了。那么它的父组件,最早持有数组的Index有收到改动吗?并说出理由。
2025-03-31 16:15:05
76
转载 鸿蒙应用开发系列文章:第五天 - 组件化开发思想开发鸿蒙案例(详解父子组件传值)
最近比较忙,不过好在本文也是紧赶慢赶的弄出来了。话不多说,我们先回顾一下我们需要做的案例我们发现,这是一个综合性比较强的案例,涉及了布局、状态切换、列表渲染、数据新增、侧滑删除等功能。非常适合入门时的综合练手。接下来,我们分析一下这个案例布局大致的划分组件组件化开发思想父子组件数据传递与同步本篇干活与细节略多,需要多认真思考学习。忠告:我们是以需求驱动学习知识点。特别是本篇含有部分需要理解与实操的内容。鸿蒙零基础的同学,一定要好好的跟着敲本案例代码才能理解。
2025-03-31 16:13:09
101
转载 鸿蒙应用开发系列文章:第四天 - 层叠布局、自定义组件
很多时候我们需要自定义一些由其他组件布局组合在一起的组件,方便在界面上复用,例如上期布置的附加作业年度待办目标待办列表区里的每一项组成元素比较多,比如有Row、Checkbox、Text等。而且这些元素组合起来的部分,多次需要使用。那么为了更好的维护、修改、复用,可以把这一部分封装成自定义组件自定义组件创建完,我们需要一边写代码一边看效果。可是默认情况下自定义组件无法在预览器里进行预览,这时候需要加一个装饰器@Previewbuild() {} }这样我们就能进行界面编写,并且在预览器看到预览效果了。
2025-03-31 16:09:12
77
转载 鸿蒙应用开发系列文章:第三天 - 登录案例、事件、双向绑定、装饰器
本文中我们学了事件、提示框、成员变量声明、双向绑定、装饰器。我们回顾一下on事件名,事件名首字母大写,例如:onClick、onChange提示框:需要先导入然后使用promptAction.showToast( { message: '提示信息', duration:时长 } )技巧:可以直接输入promptAction,出提示后,按回车,DevEco会自动导入声明成员变量变量 : 类型 = 初始值默认情况下,变量改变不会触发界面重新渲染,因此需要装饰器:@State双向绑定。
2025-03-31 16:06:37
81
转载 鸿蒙应用开发系列文章:第二天 - 开发工具与基础组件
HUAWEI DevEco Studio(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造(Java开发者狂喜,与idea基本一样),为运行在HarmonyOS系统上的应用和服务(以下简称应用/服务)提供一站式的开发平台。
2025-03-31 16:03:21
172
转载 鸿蒙应用开发系列教程:第一天 - HarmonyOS介绍
今天的介绍就到此为止,下一篇开始我们就将进入到技能的学习了,请大家做好准备,主要是准备好开发环境,也即下载安装好开发工具下载地址:https://developer.huawei.com/consumer/cn/download/打开网页登录华为账号后即可下载,目前最新版是beta2,API版本为12。如果您不是这个版本,请记得升级。因为最新版绝对是越来越靠近最终正式发布的纯血鸿蒙,猫林老师也是基于最新版给予讲解。然后我们总结下今天给大家聊了什么。HarmonyOS是什么。
2025-03-31 15:51:46
249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅