【C++】模板:了解泛型编程
本篇是C++模板学习的一些笔记 [TOC] 1.了解泛型编程泛型编程,故如其名,是一个泛化的编程方式。其实现原理为程序员编写一个函数/类的代码示例,让编译器去填补出不同的函数实现 就好比活字印刷术,可以灵活调整印刷的板块和内容,比只能固定印刷某一个内容的雕版印刷术效率更高,也让印刷术由此得到了更广泛的应用。 在C++中,函数重载和模板的出现,让泛型编程得到了实际的应用。其中模板,就是类似活字印刷术一样的存在。 我们写一个模板,编译器帮我们按照我们写的模板的方式,实例化成不同的函数。相当于替代了一部分操作,节省了代码量。 2.函数模板八八了那么多没用的,让我们来看看函数模板的语法 ...
【C++】动态内存管理
在之前类和对象的博客里面,已经记录过了C++中动态内存管理函数new和delete的基本使用。本篇博客是对C++动态内存管理的进一步细化 [TOC] 1.C/C++内存分区这是一个老生常谈的问题了,直接看下面这个图吧! 这里的数据区其实就是静态区,而代码区是常量区。这里的BBS区先暂时pass掉。 要想辨别上面的几个内存分区,可以现来看下面这个代码,你能分的清楚它们都是存在内存的哪一个区域吗? 12345678910111213141516int a = 1;//数据区static int b = 1;//数据区int main(){ static int c ...
【Git】如何同步Gitee和Github的仓库(超简单)
本篇博客的设置方法同样可以适用于gitlab等其他平台 不多bb,直入主题⏲ 实现两个仓库的同步1.准备两个仓库分别在两个平台创建一个相同名字的仓库,当然,你也可以在a平台上导入b平台已有的仓库,github和gitee目前都支持从别的平台导入仓库 这部分操作想必大家都会,就不演示了 2.克隆到本地需要注意的是,你要保证其中一个是主仓库。如果是多人合作仓库的话,想两个平台的远程仓库同时多人合作并保持同步是相对困难的。 https://gitee.com/musnow/LetsOJ 以我创立的这个多人OJ打卡仓库为例,现在我想得到的效果是,我和朋友们在gitee上面进行打卡协作,然后我 ...
【C++】快速学习类和对象,看这一篇就够了
本篇博客是学校大一下C++期末考察的要求,包含了C++中类和对象的大部分内容,适合学习类和对象的你观看。最后还有两个小项目,综合了绝大部分类和对象的知识,很适合练手+深化学习。 为了避免被同校copy,本篇博客只在我的HEXO个人博客上发布 第一章 绪论1.1 面向对象程序特点与目标面向对象有下面几个特征: 类与对象:把现实世界中的某一类东西,提取出来,用代码表示; 封装性:把过程和数据封装到一个包裹里面,对数据的访问只能通过公开权限的函数接口来进行操作; 继承性:一种联结类的层次模型,类似树状结构; 多态性:允许不同类的对象对同一消息做出响应,用不同的方法来解决一个问题。 其中 封装 ...
【C++】类和对象2:默认成员函数+操作符重载
本篇是类和对象的第二站🚌 主要讲述类的几个默认成员函数,以及操作符重载 本篇博客会涉及到很多之前C++专栏里面提到的知识点,建议连起来观看。 感谢你关注慕雪,欢迎来我的寒舍坐坐❄慕雪的寒舍 [TOC] 默认成员函数当我们创建一个类的时候,即便类里面啥都不放,都会自动生成下面6个默认成员函数 它们都有啥功能呢?且听我一一道来 1.构造函数众所周周知,当我们写C语言的顺序表、链表等代码的时候,一般都会写一个Init函数来初始化内容。 123456void Init(){ a=(int*)malloc(sizeof(int)*4); size=0; capa=4;} ...
【C++】类和对象1:初识类+this指针
不知你在学习C语言和C++的适合,曾否听过老师这么讲述这两个语言之间的区别: C语言是面向过程的 C++是面向对象的 我一直不太理解这二者之间的区别,在查阅了一些博客后,发现了一个比较好的解释👉【传送门】 用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭。所谓盖浇饭,北京叫盖饭,东北叫烩饭,广东叫碟头饭,就是在一碗白米饭上面浇上一份盖菜,你喜欢什么菜,你就浇上什么菜。 本篇博客,就让我们从类和对象开始,渐渐了解什么是“面向对象编程” 感谢你关注慕雪,欢迎来我的寒舍坐坐❄慕雪的寒舍 [TOC] 1.类的引入1.1结构体在C语言中,我们可以定义自定 ...
【树莓派】实验15-电位计传感器
今天的这个实验需要用上两位常驻嘉宾! 它们就是PCF8591和双色LED! 1.实验器材 树莓派开发板 40p软排线+T型转接板+面包板 双色LED模块(元老级朋友) PCF8591模数转换器模块(长老级朋友) 电位计传感器 一些跳线 上:电位计传感器;下:双色LED 2.实验原理2.1基本原理 电位计是一种用于测量电路中电势(电压)的仪器。通过电流计将来自电阻式滑动导线的已知电压的一部分与未知电压进行比较。调节电位器的滑动触点或游标。然后将检流计短暂地连接在滑动触点和未知电压之间,观察检流计的挠度,并调节滑动分接头,直到检流计不再从零偏斜为止。 此时,检流计不再从未知源汲取 ...
【Linux】修改腾讯云轻量应用服务器的hostname
今天想修改云主机的hostname,但是腾讯云的控制台里面好像不能直接改这个名字。需要在root用户里面修改! 参考 修改服务器主机名称-腾讯云开发者社区-腾讯云 修改前: 1[muxue@VM-12-2-centos:~]$ 修改后: 1[muxue@bt-7274:~]$ 1.查看当前的主机名称1hostname 2.临时修改主机名称不建议使用,重启之后又会还原 12# hostname 主机名称hostname XXX 3.永久修改主机名称警告:WSL2中不能使用此办法修改主机名!!否则修改后会导致WSL主机暂时无法正常进入!(遇到此问题可以重启电脑,WSL的主机名会 ...
【树莓派】实验14-PS2游戏手柄摇杆
本次实验还是需要用到PCF8591模数转换器,莫非它要取代双色LED成为新的常驻嘉宾吗? 本次实验是摇杆实验。这个玩意可以用于操控机器人或者是树莓派的遥控小车。当然,生活中最常见的用途还是在游戏手柄上。不知道你打不打游戏,有没有用过手柄玩游戏呢? 本人有一个游戏手柄,玩3a还是挺爽的,哈哈 1.实验器材 树莓派开发板 40p软排线+T型转接板+面包板 PS2手柄模块 PCF8591模数转换器模块(实验12) 一些跳线 一个一字螺丝刀 2.实验原理 手柄模块通过以90度角安装两个电位计来判断当前的X值和Y值,从而计算出手柄的方向。再加上一个按钮,来判断手柄被按下(也就是游戏手 ...
【树莓派】实验13-雨滴传感器
好久没玩树莓派了,今天上手来做一个实验 1.实验器材 树莓派开发板 40p软排线+T型转接板+面包板 雨滴传感器模块 LM393模块 PCF8591模数转换器模块(实验12) 一些跳线 一个一字螺丝刀 2.实验原理2.1基本说明雨滴传感器的控制模块具有4个输出,其中VCC连接到5V电源,模块的GND引脚接地。DO引脚连接到微控制器的数字引脚以进行数字输出,也可以使用模拟引脚。要使用模拟输出,可以将A0引脚连接到微控制器的ADC引脚。 在雨滴/雨水器系统中,用雨滴传感器检测降雨量并转换控制器检测到的信号。然后根据这些信号自动设置雨刮器的间隔,以方便地控制雨刮器的电机;在 ...