- 博客(96)
- 资源 (2)
- 收藏
- 关注
原创 MySQL 表连接 JOIN
表连接一、表连接join基础1、什么是表连接、什么是join2、表连接的分类2.1、内连接2.2、外连接插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入一、表连接join基础1、什么是表连接、什么是join当需要同时显示多个表中的字段时, 就可以用表连接来实现这样的功能.SQL 中
2020-08-31 14:51:08
583
原创 登录mysql,-p后带密码登录不成功,不带密码在提示符后输入密码可以登录成功;
1、登陆的时候明明-p后加了密码密码为1234但是,回车后还需要输入密码,输入后又报错2、不带密码登陆,在提示符后输入密码成功登陆3、解决原因很简单mysql -u root -p中加密码登陆时候,-p后的密码要紧连着,不能有空格^ _ ^...
2019-10-04 20:30:27
4019
原创 macOs 安装mysql
参考https://www.cnblogs.com/nickchen121/p/11145123.htmlhttps://jingyan.baidu.com/article/fa4125ac0e3c2928ac709204.htmlhttps://www.cnblogs.com/EasonJim/p/7158466.html1、下载第一步打开网址,https://www.mysql.c...
2019-10-04 18:53:03
586
1
原创 谷歌浏览器打开或者关闭自动翻译
谷歌浏览器打开或者关闭自动翻译1、前言对于经常查阅外文资料的人来说,谷歌翻译插件必不可少。但是今天小编跟大家说的不是chrome插件,而是chrome自带的翻译功能。chrome有自带的整页翻译功能,这个我相信很多人都不陌生,当然打开非浏览器默认的语言的网页时,一般会提示我们是否对该网页进行翻译。对于不懂其他语言的使用者来说是很方便的。如下图所示:2、浏览器打开非默认语言网站(已经打开允许...
2019-10-03 23:34:45
2859
原创 基于51单片机的DS18B20测温程序与仿真图
一、基础介绍时序介绍就暂不介绍,可以网上搜集资料二、proteus仿真图三、程序代码#include<reg51.h>#include"temp.h"#define duanxuan P1 //段选端口#define weixuan P2 //位选端口unsigned char code wxcode[4]={0x01,0x02,0x...
2019-06-17 17:01:36
24636
30
原创 ADC0809的使用
一、前言介绍使用ADC0809对一个模拟电压进行转换转换后的电压使用数码管显示出来二、ADC0809的介绍1、ADC0809简介ADC0809是采用COMS工艺制造的双列直插式单片8位A/D转换器。分辨率8位,精度7位,带8个模拟量输入通道,有通道地址译码锁存器,输出带三态数据锁存器。启动信号为脉冲启动方式,最大可调节误差为±1LSB。ADC0809内部没有时钟电路,故CLK时钟...
2019-06-17 16:47:45
41981
15
原创 ADC0804的使用
一、前言介绍这个博客主要说明ADC0804的使用数码管的动态显示作为辅助功能,方便观察利用滑变和5V电源来获得一个输入电压值,输入到ADC0804的输入端二、ADC0804芯片的介绍1、A/D转换概念即模数转换,输入模拟量(比如电压信号),输出一个与模拟量对应的数字量(常为二进制形式)。例如参考电压VREF为5V,采用8位的模数转换器时,当输入电压为0V时,输出的数字量为0000 ...
2019-06-16 20:26:33
22925
3
原创 动态数码管显示(proteus仿真图和程序)
一、基础理解本博客基于STC89C52RC单片机进行编程。采用四位一体动态数码管显示。二、共阳极数码管1、基础介绍共阳极数码管显示需要PNP三极管进行驱动电路。三极管的集电极连接数码管的位选端,发射极连接电源,基极连接单片机进行控制。基极高电平,集电极就低电平,基极低电平,集电极就高电平,数码管亮。仿真中需要在位选端接电阻接地,否则当基极为高电平时,集电极还是高电平。实际电...
2019-05-24 12:35:49
61902
19
原创 单例模式
1、写一个简单的单例模型(单例类)解释:下面代码由于静态成员在程序启动时就已经创建好,不需要实例化所以用类名::静态函数就可以使用,使用一个类指针指向该静态成员函数来获取类对象。重要三大步:定义一个静态的GetInstance方法,返回该类的唯一实例定义一个自身的静态成员变量,只有当该类未初始化时创建该类的实例。将类的构造函数定义为私有的,不允许外界访问构造函数,创建实例。#inc...
2018-10-06 12:43:59
231
转载 什么是死锁及死锁的必要条件和解决方法【转】
一、要点提示(1) 掌握死锁的概念和产生死锁的根本原因。(2) 理解产生死锁的必要条件–以下四个条件同时具备:互斥条件、不可抢占条件、占有且申请条件、循环等待条件。(3) 记住解决死锁的一般方法,掌握死锁的预防和死锁的避免二者的基本思想。(4) 掌握死锁的预防策略中资源有序分配策略。(5) 理解进程安全序列的概念,理解死锁与安全序列的关系。(6) 了解银行家算法。(7) 了解资源分配...
2018-10-06 00:13:37
332
转载 Singleton 单例模式(懒汉方式和饿汉方式)
转载于单例模式的概念:单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。关键点:1)一个类只有一个实例 这是最基本的2)它必须自行创建这个实例3)它必须自行向整个系统提供这个实例两种实现方式:1 懒汉模式(类加载时不初始化)package Singleton;public class La...
2018-10-05 22:42:33
277
原创 设计模式之单例模式
一、单例模式概念1、单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例二、单例模式的组成1、定义一个静态的Getlnance方法,返回该类的唯一实例。2、类定义一个自身的静态成员变量,只有当该类未实例化的时候创建该类的实例。3、将类的构造函数定义成私有的,不允许外界访问构...
2018-10-05 19:36:31
180
原创 volatile关键字的作用
一、保证内存可见性1、基本概念:volatile的本意是“异变的”因为访问寄存器要比访问内存单元快的多,所以编译器一般都会做减少存取内存的优化,但是可能会脏读数据。当要求使用volatile声明变量的时候,系统总是重新从它所在的内存读取数据,即使他前面的指令刚刚从该处读取过数据。从而保证了数据在内存的可见性。eg1:1、智能的编译器会注意下面代码使用了两次x,但并为改变它的值,于是编译器把x...
2018-10-04 22:08:28
6039
原创 【数据结构】链表的基本操作和深度练习
linklist.h#pragma once#include <stdio.h>#include <assert.h>#include <windows.h>typedef int DataType;typedef struct ListNode{ struct ListNode* pNext; DataType _data;}Node...
2018-10-04 16:39:26
251
1
原创 【数据结构】队列的公共部分,可以插入任意类型的元素
#include <iostream>#include <cassert>using namespace std;#define MAX_SIZE 8template<class T>class Queue{public: Queue(); //初始化 T _array[MAX_SIZE]; int _front; int _...
2018-09-25 23:05:25
794
原创 【数据结构】顺序队列
一、顺序队列的概念和分类1、概念:顺序队列的底层结构是数据存储元素的,用两个整形数字来表示队头和队尾的下标front和back2、顺序队列根据出入元素方式不同分为两种形式在这里插入图片描述二、代码展示1、队头不动编译环境VS2008Queue.h#pragma once #include <stdio.h>#include <assert.h>#...
2018-09-25 11:23:35
616
原创 【数据结构】链式队列的基本操作
概念:链式队列:特殊的单链表,只在单链表上进行头删和尾插操作1、首先链式队列需要一个一个节点构成,节点的结构是,有元素,有下一个节点的地址//定义一个节点typedef int DataType;typedef struct Node{ struct Node* _pNext; DataType _Data; }Node,*PNode;2、链式队列结构中有两个指针pHead...
2018-09-25 11:00:10
1521
原创 【数据结构】环形队列的基本操作
编译环境VS2008Queue.h####为了解决顺序队列的假溢出的问题,设计了环形队列#pragma once#include <assert.h>#include <stdio.h>#define MAX_SIZE 8typedef int DataType;typedef struct Queue{ DataType _array[MAX_S...
2018-09-24 17:01:28
1349
原创 栈的应用
编译环境vs2008Stack.h#pragma once #include <assert.h>#include <stdio.h>#include <string.h>//typedef int DataType; //基本操作使用//typedef char DataType; //括号匹配问题使用typedef int Data...
2018-09-24 16:56:31
254
原创 栈的基本操作
编译环境vs2008Stack.h#pragma once#include <assert.h>#include <stdio.h>typedef int DataType;#define MAX_SIZE 10typedef struct Stack{ DataType _array[MAX_SIZE]; int _size;}Stack;...
2018-09-24 16:49:20
196
转载 Linux进程的五个段(数据段、代码段、bss、堆栈段)
下面我们来简单归纳一下进程对应的内存空间中所包含的5种不同的数据区都是干什么的。BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。...
2018-09-19 18:57:49
2406
转载 什么是序列化和反序列化 什么是串行化和并行化
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。1、把对象转换为字节序列的过程称为对象的序列化。2、把字节序列恢复为对象的过程称为对象的反序列化。序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象...
2018-09-18 20:54:07
510
原创 多态调用的原理
问题:为什么派生类对基类的虚函数重写,通过基类对象的指针或引用>调用该虚函数,就可以实现多态因为有序函数的类的对象模型的前四个字节存储的是一个地址,这个地址指向的是一个虚拟函数表,表中的内容是虚拟函数的地址。#include <iostream>#include <string>using namespace std;typedef void(*PVF...
2018-09-18 20:44:14
1518
转载 c++返回类型协变
在C++中,只要原来的返回类型是指向基类的指针或引用,新的返回类型是指向派生类的指针或引用,覆盖的方法就可以改变返回类型。这样的类型称为协变返回类型(Covariant returns type).返回类型协变覆盖要求函数具有完全相同的入参。一般覆盖具有相同的返回值,否则会提示错误virtual double area ()const = 0;virtual float area ()c...
2018-09-18 01:40:20
2592
原创 编译器什么情况下,合成构造函数?
问题:C++面向对象编程时,如果我们没有声明任何构造函数constructor,按照以前最初学习,说编译器会自动合成一个默认的无参构造函数default constructor,但是事实确实是这样吗,存不存在例外呢,即使有合成构造函数,那么它又将对类数据进行怎样的初始化呢?1、回答第一个问题:存在例外!!!(下文讨论的前提是:我们没有声明任何构造函数)如果我们没有声明任何构造函数,编译器不会...
2018-09-18 00:54:18
406
原创 【C++】设计一个类,该类不能被继承(自己笔记)
一、不能被继承的要求构造函数设置为私有 因为创建子类时需要访问父类的构造函数析构函数设置为私有 因为销毁子类时需要访问父类的析构函数所以一个类不能被继承需要将析构函数和构造函数设置为私有的。但是两个函数被设置为私有后,这样一来这个类在其他地方不能实例化,没有存在的意义。二、解决不能继承的类不能实例化的问题1、通过静态方法来解决这时候你是不是想到了静态方法,...
2018-09-13 12:52:44
954
转载 【C++】 设计一个不能被继承的类
吃饭时与“大姐”讨论问题,他问道“C++如何设计一个不能被继承的类”?不能被继承,那把构造函数和析构函数设计成私有的不就行了,这样一来子类不能访问父类的构造函数和析构函数,也就无法继承了。然而这样一来,这个类在其他地方也就不能实例化了,没有存在的意义了。这时候你是不是想到了静态方法,是啊,我们可以通过静态方法来返回类的实例,然后通过另一个静态方法来释放该类对象。代码如下://stati...
2018-09-13 11:01:03
350
转载 【C++】struct结构在C和C++中的区别
struct结构在C和C++中的区别C语言中:struct是用户自定义数据类型(UDT);C++中struct是抽象数据类型(ADT),支持成员函数的定义,(C++中的struct能继承,能实现多态)。C中struct是没有权限的设置的,且struct中只能是一些变量的集合体,可以封装数据却不可以隐藏数据,而且成员不可以是函数。C++中,struct的成员默认访问说明符为public(为...
2018-09-13 00:30:02
677
转载 【C++】struct 与 class的区别(在标准C++中)
在C++中struct 与 class 区别struct中的成员默认是public。class中默认的是private如果没有多态和虚拟继承,在C++中,struct和class的存取效率完全相同。在用模板的时候只能写 template <class Type>或template<typemname Type> 不能写template<stru...
2018-09-13 00:27:41
448
转载 nginx快速入门之基本原理篇
https://zhuanlan.zhihu.com/p/31196264?utm_source=qq&utm_medium=social&utm_oi=824586777519075328
2018-09-04 01:07:01
161
转载 【C++】C++中的.和::和:和->的区别
在学习C++的过程中我们经常会用到.和::和:和->,在此整理一下这些常用符号的区别。 1、A.B则A为对象或者结构体;2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构;4、:一般用来表示继承;...
2018-09-03 22:53:15
10450
转载 【STL】【容器】vector
一、vector的概念vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库负责管理存储元素的相关内存。我们把vector称为容器,是因为它可以包含其他对象。一个容器中的所有对象都必须是同一种类型的。使用vector之前,必须包含相应的头文件。#include&amp;lt;vector&amp;gt;usingstd::vector;vect...
2018-09-03 22:51:51
275
原创 STL概念
一、STL1、概念STL是C++标准库的最重要的组成部分,STL(标准模板库)不仅是一个可复用的组件库,而且是一个包罗算法和数据结构的软件框架。2、STL版本原版本-Alexander Stepanov、Meng Lee在惠普实验室完成原始版本,本着开源精神,他们声明允许任何人任意运用、拷贝、修改、传播、商业使用这些代码,无需付费。唯一的条件就是也需要向原始版本一样做开源声...
2018-09-03 21:40:52
395
原创 【STL】【容器】string
string是一个标准模板类一、string的初始化首先,为了在程序中使用string类型,必须包含头文件< string>。如下: #include <string>注意这里不是string.h,string.h是C字符串头文件。 string类是一个模板类,位于名字空间std中,通常为方便使用还需要增加: using names...
2018-09-03 13:33:24
200
原创 【C++】【模板】类模板和模板类
点击查看来源一、类模板——模板类(class template——template class)类模板的重点是模板。表示的是一个模板,专门用于产生类的模子。例子:template &lt;typename T&gt;class Vector{ ...};使用这个Vector模板就可以产生很多的class(类),Vector ...
2018-09-03 11:02:32
1213
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人