自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 详解c++动态绑定 多态

单继承无函数覆盖单继承有函数覆盖多继承无函数覆盖多继承有函数覆盖覆盖的那个函数,就在那个的表里面。多重继承无函数覆盖多重继承有函数覆盖(1)多重继承有函数覆盖(2)多重继承有函数覆盖(3)前期绑定与动态绑定...

2020-11-10 09:59:09 125

原创 详解虚函数表

虚函数1、虚函数:间接调用2、深入虚函数调用总结:***只要你这个类中有一个函数带了virtual,那么这个类对象的内存空间会多分配4个字节这4个字节指向一个数组,可以说这4个字节是这个数组的首地址这个数组存储的是你这个对象所有的虚函数的地址。其实多出来的4个字节就是虚函数表的首地址虚函数表就相当于一个数组。打印虚函数表...

2020-11-09 21:05:57 224

原创 python爬虫入门

什么是爬虫网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或者脚本。由于互联网数据的多样性和资源的有限性,根据用户需求定向抓取相关网页并分析已经成为如今主流的爬取策略爬虫可以做什么你可以爬取自己自己想看的图片,爬取自己想看的视频等等,只要你能通过浏览器访问的数据,都可以通过爬虫获取。爬虫的本质是什么模拟浏览器打开网页,获取网页中我们想要的那部分数据网络爬虫(网络蜘蛛)原理图搜索引擎原理图爬虫的基本流程...

2020-11-08 18:09:11 144

原创 C++构造和析构函数解析

重载:函数的名字一样,参数的个数不一样或则参数的类型不一样就叫做重载函数,跟函数的返回类型没有任何区别构造函数析构函数继承其实就是就是数据的复制。多层继承多重继承

2020-11-07 11:33:30 101

原创 详解C++ 类 this指针

结构体在做参数传递的时候,是传的是副本封装封装:其实就是把函数放在结构体里面那为什么要封装呢?因为把函数放在结构体里面,使用它的变量会比较方便。把函数放在结构体里面,编译器会为我们的函数传递一个值,那个值就是结构体的首地址。我们可以把这种结构体叫做类。写在结构体里面的函数就是成员函数。this关键字可以得到当前对象的首地址。...

2020-11-05 20:34:55 81

原创 详解 内存分配 | 文件读写

#define:***一个c程序是怎么变成exe的?***替换---------》编译-------》链接在编译前有一个工具,这个工具执行替换的功能,替换成我们要的值,记住现在还并没有编译。替换完后再编译成二进制数据,那为什么还要链接呢?因为你的程序可能还使用了别人的程序。链接的这个过程就是把别人写的程序复制一份,放到你的程序里,这样整个exe就完成了。这个#define就是跟替换有关系,是编译前做的事情。好像有一个跟它有一点像:typedef,但是它和#define是有区别的typ

2020-11-05 13:54:04 320

原创 详解指针 C(6)

数组指针函数指针代码跟数据有区别吗?代码其实跟数据没有区别。如果非要说区别,就是一个在代码区,一个在数据区。可以把函数名也看作像x那样的变量。x里面存储的是10;函数名里面存储的是硬编码(就是一些数据)。反正我们知道x里面存储的是一些数据,函数名(Function)里面也存储的是一些数据就可可以了。函数名里面存储的数据是可以让cpu去执行的经探测,指针宽度为4,不能++,–不能,可以比较...

2020-11-04 21:19:25 148

原创 详解指针C(5)

1.指向指针的指针:多级指针这两条语句一样吗所以这两条语句是一样的。可以发现*(p1+0)p[0]等价。总结// ( * )p == ( * )(p+0) == p[0]==*(p+i)=p[i]

2020-11-03 14:22:08 95

原创 详解指针C(4)

1、指针数组遍历所有数据?2、结构体指针把int *强转化成结构体指针

2020-11-02 20:41:44 70

原创 详解指针C(3)

1.字符数组与字符串2、常量区每一个exe使用内存的时候,是把内存分成不同的区域的数据区包括全局变量和常量区。出现0xC0000005表示的意思是访问错误。,一般对内存做了非法读写的时候,就会出现这个错误。1、哪个可以修改?哪个不能改?经实验发现*(x+1)='A’出现访问错误提示。说明不能改*(x+1)的值后面我又在上面的条件下,加了一行代码发现编译没有出错,说明x的值是可以改的,是x指向的那个字符串“china自己"本身不能改那为什么不能让我们改呢?因为x指向那个字符串存储

2020-11-02 20:06:59 116

原创 详解指针C(2)

1、&符号的使用&是地址符,类型是其后面的类型加一个“*”,任何变量都可以使用&来获取地址,但不能用在常量上。// & 可以取任何一个变量的地址//&a的类型 就是a的类型+ ( * )//那么&b== short *//&c== int *12、“带*类型” 的特征探测:求值探测:// *(px)== int// *(px2)==int *// *(px3)==int **// *(px4)==int **

2020-11-02 16:49:26 218

原创 详解指针C(1)

很多人都在说指针都是地址,我不是这样理解的,最好不要一提到指针就想到地址,这样的话很难学好指针。我们都知道常用的数据类型:char short int我们可以先把指针理解为带(* )的类型,我们平常学的数据类型后面都可以加一个变成带(*) 的数据类型比如char *, short *, int *任何我们学过的类型,都可以加上一个( * )或者多个( *),就会变成一个新的类型。1.“带*类型” 的特征探测:声明如何声明一个char/short/int类型的变量?声明带有(*)特征的变量:

2020-11-02 12:00:01 172

原创 详解EFLAGS寄存器(标志寄存器)

1

2020-10-30 19:35:00 5687

原创 详解通用寄存器-内存读写

在看这篇文章之前,可以先看一下这一篇数据宽度便于理解后续的内容在数据宽度那里已经说了计算机中有很多的容器有的容器是cpu里面提供的,有的容器是内存提供的。本质其实没有什么区别,都是拿来存储数据的那为什么要在cpu中放一些容器,在内存中放一些容器把数据放在cpu里面计算非常快,但是cpu非常昂贵放在内存中会相对慢一点,但是内存要相对便宜一点所以两者兼用会比较好。cpu中提供的常用的32位容器我们称为32位通用寄存器32位通用寄存器的指定用途如下这张图片里面的东西一定要记住,

2020-10-28 16:04:16 4663 1

原创 汇编中常见的指令以及DTDebug的用法

DTDebugDTDebug的具体用法我就不说了,你们可以去网上搜索一下这是DTDebugD打开的一个exe程序的界面图我们来具体说一下常见的汇编指令指令MOV指令:是汇编中非常重要的一个指令MOV 目标操作数,源操作数作用:拷贝源来操作数到目标操作数1.源操作数可以是立即数,通用寄存器,段寄存器,或者内存单元。2.目标操作数可以是通用寄存器,段寄存器或者内存单元3.操作数的宽度必须一样4.源操作数和目标操作数不能同时为内存单元为了大家理解我演示一下第一条语法,你们可以把图上

2020-10-28 16:00:30 1559 3

原创 详解计算机中的数据宽度

数学上的数字,是没有大小限制的,可以无限大。但是在计算机中,由于受到硬件的制约,数据是有长度限制的(我们称为数据宽度)。超过最多宽度的数据会被丢掉

2020-10-27 14:56:57 5856 2

zeal-0.6.1-windows-x64.msi

这是一个非常好的离线文档查看器,非常好使用,我自己也在用

2020-11-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除