【C++】STL:vector
STL的第二站,便是vector了。 对于学习STL,有一个非常大的好处便是,它们有很多函数都是相通的!这也是面向对象的一大好处:背后的函数实现可能不同,但是使用方式相同。 1.简单了解vector https://m.cplusplus.com/reference/vector/vector/ 老样子,打开我们的cplusplus——然后惊奇的发现,它换UI了!终于不再是那个2000年初的模样了(虽然这和我们的使用没啥关系) 不摸鱼了,来看看vector究竟是何方神圣——其实他就是一个顺序表 和string不同的是,vector有模板参数,可以存储任何类型的内容。int、double ...
【Linux】权限管理
Linux部分的内容,我以权限管理作为起始。 关于Linux命令行操作的部分,大家可以去网上搜搜,教程很多,且全面:【链接】。这里我就不再把相同的东西复述一遍了,毕竟Linux命令这种东西,你不会的时候可以去查,常见的命令敲多了肯定忘不掉 不多说,开始Linux权限操作的内容吧! 本篇博客所有演示均在CentOS7.6下进行 [TOC] 1.什么是权限?权限是用于对用户进行约束的。正好比视频网站的vip一样,没有vip权限,你就看不到只有vip才能观看的影片。 1.1 root和user在linux中,用户分为两种 root:超级用户 其他:普通用户 其中root用户的权限最高, ...
【C++】STL:string
这是接触STL的第一篇博客,让我们以string为始,走入SLT的世界吧! [TOC] 1.何为STLSTL是C++标准库的重要组成部分,其作用是为绝大多数数据结构提供轮子,是一个包罗了数据结构和算法的软件框架。 在之前C语言的数据结构专栏中,顺序表、链表等等都是需要我们自己造轮子来实现。但在C++中,有STL就好比站在了巨人的肩膀上,可以走的更远。当我们需要使用这些内容时,无需自己重新造轮子,从而大大提高了开发效率。 1.1 STL版本这里我直接贴一个C语言中文网的链接👉【点我】 里面详细介绍了STL发展历程中出现的几个版本,其中SGI因为被Linux的GCC所使用,可移植性高。之后的 ...
【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基本原理 电位计是一种用于测量电路中电势(电压)的仪器。通过电流计将来自电阻式滑动导线的已知电压的一部分与未知电压进行比较。调节电位器的滑动触点或游标。然后将检流计短暂地连接在滑动触点和未知电压之间,观察检流计的挠度,并调节滑动分接头,直到检流计不再从零偏斜为止。 此时,检流计不再从未知源汲取 ...