- 博客(31)
- 收藏
- 关注
原创 C++常用STL容器--list
list基本功能:将数据进行链式存储链表(list) 是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的
2023-06-14 18:37:56 2104
原创 C++友元函数friend使用的学习总结
使用友元函数的目的:允许一个函数或者类访问另一个类中的私有成员,使得两个类可以共享同一数据。举个例子,有亲戚去你家拜访,那么客厅是所有人可见的(public类),但自己的房间就不太方便了(private类),不过自己的基友或者闺蜜可以进入你的房间,这就需要友元函数,这就是friend。
2023-06-14 17:43:03 1928
原创 简单嵌入式系统设计--数码管显示
控制最右边三位数码管,设置初始值为995,当按键k1每次按下时数码管三位十进制加1,当加到999时继续加1,显示为000;按键k2每次按下时数码管三位十进制减1,当减到000时继续减1,显示为999
2022-05-29 16:40:00 3624
原创 HTML5特效(shadow、gradient、transition、transform、filter)
文章目录阴影(shadow)、渐变(gradient)、过渡(transition)、变形(transform)、滤镜(filter)
2022-05-29 16:14:54 1702
原创 DOM绑定点击事件操作中的常见问题
1、注意getelement后面加了s,代表含有多个元素,所以是个类集合2、绑定事件后要表达该绑定的元素需要用this
2022-04-08 23:46:02 251
原创 前端学习--CSS引入方式、常见样式及选择器
文章目录引入方式常见样式常用选择器本部分内容我用思维导图画了下,感觉看那个也很方便,不知道这链接啥时候失效:CSS引入方式、常见样式及选择器引入方式CSS引入方式分为三种:外部样式表、内部样式表、内联样式表外部样式表<link rel="stylesheet" href="CSS/first.css">内部样式表(style部分)<style> div{ width: 100px; height: 100px; backgr
2022-03-26 12:03:57 1313
原创 前端学习--HTML块标签、行标签、行块标签
文章目录head标签块标签显示效果如下:![块标签](https://img-blog.csdnimg.cn/9f3b3035b7fb4e50a75252ee865c20ae.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aKo55eV55m95769,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center =400x400)行标签在这里插入图片描述行块标签
2022-03-26 11:23:11 891
原创 C++STL 函数对象、谓词、内置函数对象
重载函数调用操作符的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,所以也叫仿函数本质: 函数对象(仿函数)是一个类,不是一个函数
2022-02-04 11:09:10 617
原创 C++常用STL容器--stack、queue
stack是一种先进后出(FILO)的数据结构,它只有一个出口queue是一种先进先出(FIFO)的数据结构,它有一个入口和一个出口
2022-02-04 10:39:34 1329
原创 C++常用STL容器--set/multiset
特点: 所有元素都会在插入时自动被排序本质: set/multiset属于关联式容器,底层结构用二叉树实现set不允许容器中有重复的元素,multiset允许容器中有重复的元素
2022-01-11 10:10:49 455
原创 C++常用STL容器--map&multimap
map中所有元素都是对组,第一个元素为key(键值),起到索引作用,第二个元素为value(实值)所有元素都会根据元素的键值自动排序
2022-01-11 10:07:27 303
原创 C++常用STL容器--deque
双端数组,可以对头端进行插入删除操作vector对于头部的插入删除效率低,数据量越大,效率越低相对而言,deque对头部的插入删除速度要快vector访问元素时的速度会比deque快,这和两者内部实现有关
2021-12-30 19:04:39 231
原创 C++常用STL容器--list
链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的STL中的链表是一个双向循环链表
2021-12-24 17:28:50 306
原创 C++常用STL容器--vector
vector数据结构和数组非常相似,也称为单端数组vector与普通数组相比,不同之处在于数组是静态空间,而vector可以动态扩展
2021-12-24 17:23:33 94
原创 C++常用STL容器--string
C++常用STL容器--string特点string构造函数string赋值string字符串拼接string字符串查找、替换string字符串比较string字符获取string 插入和删除string 截取子串string是C++风格的字符串,但本质上是一个类特点string类内部封装了很多成员方法,例如:查找find,拷贝cope,删除delete,替换replacestring管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责string构造函数函数原型
2021-12-22 12:00:00 133
原创 C++ STL标准模板库
STL(Standard Template Library,标准模板库),STL大体分为六大组件,分别是:容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器
2021-12-21 13:55:55 280
原创 C++继承
文章目录C++继承语法:继承同名成员处理方式多继承语法语法:菱形继承概念:虚继承方法:C++继承继承的好处:减少重复代码语法:class 子类(派生类):继承方式 父类(基类)class son :public base{};A为子类,或称为派生类,其中的成员包括:从基类继承的成员、自己增加的成员。继承方式有三种:公共继承public,访问权限不变保护继承protected,除了私有内容,其余内容都变为保护权限私有继承private,除了私有内容,其余内容都变为私有权限注意
2021-10-31 15:51:50 243
原创 C++运算符重载
文章目录C++运算符重载1. 加号运算符(+)重载代码实现2.左移运算符(cout)重载代码实现3.递增运算符(++)重载代码实现4.赋值运算符(=)重载代码实现5.关系运算符(==)重载代码实现6.函数调用运算符()重载代码实现C++运算符重载 运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 运算符重载,也可以发生函数重载1. 加号运算符(+)重载作用:实现两个自定义数据类型相加的运算代码实现#include <iostream>usin
2021-10-30 14:45:46 6352 3
原创 C++友元函数friend使用的学习总结
C++友元函数friend使用的学习总结1. 友元函数简介1.1 使用友元函数的目的1.2 友元函数的三种实现方法2.全局函数做友元3.类做友元4.成员函数做友元友元函数允许一个函数或者类访问另一个类中的私有成员,使得两个类可以共享同一数据。
2021-10-29 22:44:41 269
原创 内存置换策略--LRU、FIFO、Clock算法(C语言实现)
内存置换策略1最近最少使用(LRU)算法概念:LRU策略置换内存中最长时间未被引用的页。根据局部性原理,这也是最近最不可能访问到的页。实现方法:一种实现方法是给每页添加一个最后一次访问的时间戳,在每次访问内存时更新这个时间戳。另一种实现方法是创建一个关于访问页的栈,当有新页进入时,将之前的页按顺序压向栈底,内存不足时将栈底的页面移除,然后将新页放置在栈顶位置。本次采用第一种方法:添加时间戳。基于C语言数组使用LRU算法代码参考:#include <stdio.h>#d
2021-06-06 16:20:41 1585
原创 操作系统伙伴(Buddy) --算法C语言实现
内存分区——伙伴(Buddy)算法1.1概念内存管理的分区技术主要为固定分区和动态分区,都存在一定的缺陷。固定分区方案限制了活动进程的数量,内存空间利用率取决于可用分区的大小与进程大小的匹配程度;动态分区的维护比较复杂,并且会引入进行压缩的额外开销。一种折中方案就是伙伴系统。伙伴系统中可用内存块的大小为2k个字,L≤K≤U,其中2L表示分配的最小快的尺寸,2U表示分配的最大快的尺寸,通常2U是可供分配的整个内存的大小。最初,可用于分配的整个空间被视为一个大小块为2U的块。若请求的大小s满足2U-1
2021-06-04 19:54:11 3275 1
原创 数字系统设计VHDL实验:洗衣机控制器的设计(简易版)
数字系统设计实验:洗衣机控制器的设计(简易版)前言学校布置的数字系统设计大作业,要求完成VHDL核心代码的设计,采用quartus II进行相关仿真并且在开发板上实现。洗衣机状态及其转换方式为:启动——正转20秒——反转20秒——浸泡10秒——脱水10秒——结束。
2021-06-03 20:04:27 8970 16
原创 linux进程与线程编程
Linux进程与线程编程1. 创建进程1.1进程说明进程有生命周期,由fork()函数而创建,通过shedule()函数而执行,由wait()函数而等待,最后可强行终止运行进程,也可当完成任务后进程执行exit()函数自动退出。 通过基本的Linux进程控制函数,由父进程创建子进程,并实现协同工作。创建两个进程,让子进程读取一个文件,父进程等待子进程读完文件后继续执行。1.2 程序框架 fork()/exec()组合是典型的Linux新进程产生模式,通常先用fork()创建新进程,然后新
2021-05-02 17:40:55 407
原创 Linux内核编译、安装
Linux内核编译、安装Linux内核编译、安装(本次以Ubuntu4.4.260作为所需安装的内核版本)。以 greeting.c为基础完成编译、调试等基本过程,完成 gcc 、make、 gdb等命令的使用。1. 编译环境主机+虚拟机: Windows10+virtualBox 6.1操作系统: Ubuntu 18.04.5Linux内核源码:longterm 4.4.260编译前内核版本:2.源码下载与解压mkdir tmpcd tmpwget http
2021-05-02 17:03:21 456
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人