03 2023 档案

摘要:1.继承中的构造和析构 --执行顺序-- 父类构造 子类构造 析构子类 析构父类 2.继承中同名成员的处理 1.当子类和父类有同名成员时,子类的同名成员会隐藏父类的同名成员 class fa { public: int c = 0x11; private: }; class son :public 阅读全文
posted @ 2023-03-29 22:43 逆向狗 阅读(16) 评论(0) 推荐(0) 编辑
摘要:滴水 1.宽度永远是4 2.++ -- 是自身地址去掉后减少的宽度 3.指针相减 相减的结果要除以去掉一个的数据的宽度. 作业 1.4字节 2.40字节 3.作业 Stud**** s; s = (Stud****)100; printf("%d\n", s = s + 2);//108 print 阅读全文
posted @ 2023-03-29 21:16 逆向狗 阅读(23) 评论(0) 推荐(0) 编辑
摘要:1 阅读全文
posted @ 2023-03-26 22:16 逆向狗 阅读(20) 评论(0) 推荐(0) 编辑
摘要:1.指针指针类 //堆区开辟的对象不进行释放 所以我们在栈区开辟一个专门释放堆区对象的指针类 这样当出test时自动结束堆区 //指针运算符重载 class z1 { public: z1() { printf("开辟空间"); } void prit() { printf("调用了"); } ~z 阅读全文
posted @ 2023-03-26 22:15 逆向狗 阅读(12) 评论(0) 推荐(0) 编辑
摘要:过去是一个很空泛的东西,每当我想回忆过去的时候,出现的都是零零散散的碎片。 每一个人,在每个时间段的看法 性格 都是不一样的,而能记录这些东西最好的便是文字。 我希望当我回过头看时,能够在一行行文字中,看见那个岁月下的自己。 2022/3/26 --普通的人-- 一个月转瞬即逝,不注意间就要过去了, 阅读全文
posted @ 2023-03-26 22:14 逆向狗 阅读(38) 评论(1) 推荐(0) 编辑
摘要:1.对象模型 成员函数不占用对象的内存 - 那么他们如何找到对象的成员呢 因为虽然不是默认传参 但是编译器会传入 this指针 来指向成员 21: a.test(); 007E40B7 lea ecx,[a] 007E40BA call to::test (07E13BBh) 2.this -》th 阅读全文
posted @ 2023-03-22 22:02 逆向狗 阅读(12) 评论(0) 推荐(0) 编辑
摘要:构造函数调用规则 默认情况下,C++编译器至少给类添加3个函数 1、默认构造函数(无参,函数体 为空); 2、默认析构函数(无参,函数体 为空); 3、默认拷贝构造函数,对属性进行值拷贝。 1、如果用户定义有参构造函数,C++不再提供默认无参构造函数,但会提供默认拷贝构造函数; 2、如果用户定义拷贝 阅读全文
posted @ 2023-03-21 16:48 逆向狗 阅读(11) 评论(0) 推荐(0) 编辑
摘要:函数的默认参数详解 1.增加灵活性,多占一个坑位 2.默认参数后面必须全部是默认参数 2.占位参数 void test(int a, int b, int, int c = 0) {} 运算符重载区分前后置 3.三种参数传递方式 1.值 test(1); 值传参 -> 在传参过程中,首先将c的值复制 阅读全文
posted @ 2023-03-20 15:05 逆向狗 阅读(16) 评论(0) 推荐(0) 编辑
摘要:结构体 1.为什么需要结构体 需要一个东西来存储非常多的东西。比如生命 蓝量 坐标 2.结构体定义 赋值 struct MyStruct { int a; int b; int c; }; int main() { MyStruct ac; ac.a = 100l; } 3.结构体在内存中的存储 4 阅读全文
posted @ 2023-03-16 23:36 逆向狗 阅读(15) 评论(0) 推荐(0) 编辑
摘要:2day 1.引用是什么:给变量空间取别名 int main() { int a = 0; int& b = a; b = 100; cout << a << endl; return 0; } 2.引用的注意 使用引用类型可以像指针那样访问 只能赋值一次不能重新赋值 必须初始化 必须引用合法的空间 阅读全文
posted @ 2023-03-16 23:24 逆向狗 阅读(11) 评论(0) 推荐(0) 编辑
摘要:逻辑结构 逻辑连续 物理不连续 头指针 plist 头指针 插入接口 尾插 malloc next==null 就是倒数一个节点 (找尾节点的指针) 注意没有节点 头插 头 指向 再存储地址 随便插 一个数的前面插数 删除接口 尾删 找尾和尾前的next prev tail 问题 1.链表空 2.1 阅读全文
posted @ 2023-03-15 22:10 逆向狗 阅读(8) 评论(0) 推荐(0) 编辑
摘要:1.c++ 1.hello Word c框架详情 2.三大特性 3.命名空间 运算符特性 4.using声明 5.c与c++部分不同 1.c++是c语言前身 #include //头文件 using namespace std; //空间 从此处开始 int main() { //打印代码 endl 阅读全文
posted @ 2023-03-15 21:43 逆向狗 阅读(9) 评论(0) 推荐(0) 编辑
摘要:Note 2023-03-15T21.26.46 1、返回值是如何传递的? 通过寄存器 或者全局地址 return eax,0x111 2、参数传递的本质 整数参数传递统一采用32位 int行 无论你是不是char类型 这是因为本机尺度 push 8 esp-4 (怎么找到压入的数据) 数据的复制 阅读全文
posted @ 2023-03-15 21:42 逆向狗 阅读(9) 评论(0) 推荐(0) 编辑
摘要:按文件的逻辑结构: 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成--数据库 文件缓冲区 C语言文件指针 声明FILE结构体类型的信息包含在头文件“stdio.h”中 一般设置一个指向FILE类型变量的指针变量,然后通过它来引用这些FILE类型变量 通 阅读全文
posted @ 2023-03-13 15:59 逆向狗 阅读(8) 评论(0) 推荐(0) 编辑
摘要:https://leetcode.cn/problems/remove-element/ 阅读全文
posted @ 2023-03-12 23:36 逆向狗 阅读(11) 评论(0) 推荐(0) 编辑
摘要:1 阅读全文
posted @ 2023-03-10 18:47 逆向狗 阅读(11) 评论(0) 推荐(0) 编辑
摘要:2.结构体基本操作 点击查看代码 struct Teacher { char name[50]; int age; }; //3、结构体变量的初始化 //定义变量时直接初始化,通过{} struct Teacher t7 = { "lily", 18 }; //4、typedef改类型名 typed 阅读全文
posted @ 2023-03-10 18:47 逆向狗 阅读(12) 评论(0) 推荐(0) 编辑
摘要:1.全局变量与局部变量 全局变量 程序启动即分配地址 一直在 不销毁 局部变量 没有固定地址 所在函数体结束后会被销毁 2.函数参数 根据内外平栈代码查看 问题 寄存器传参 IF语句的反汇编 3.循环语句 1.do while 先循环再判断 while for 阅读全文
posted @ 2023-03-10 18:46 逆向狗 阅读(10) 评论(0) 推荐(0) 编辑
摘要:直接代码 接口 点击查看代码 #pragma once typedef int SLDataType;//直接修改 类型(也可以使用c++的模板) typedef struct Sequence { SLDataType* array; size_t size;//实际大小 size_t volum 阅读全文
posted @ 2023-03-09 11:43 逆向狗 阅读(9) 评论(0) 推荐(0) 编辑
摘要:滴水 空函数的堆栈 1.C是怎么变成汇编的 1.裸函数 void __declspec(naked) Function() 直接走完会报错 因为没有进行堆栈平衡 同时函数内部没有任何汇编代码 全部为空 想要走完就需要自己给他编写代码 _asm { } 3种裸函数框架 2.常见的几种调用约定: 外平栈 阅读全文
posted @ 2023-03-09 11:42 逆向狗 阅读(12) 评论(0) 推荐(0) 编辑
摘要:1.详解进位与溢出 2.指令介绍 ADC指令:带进位加法 格式:ADC R/M,R/M/IMM 两边不能同时为内存 宽度要一样 ADC AL,CL ADC BYTE PTR DS:[12FFC4],2 ADC BYTE PTR DS:[12FFC4],AL SBB指令:带借位减法 格式:SBB R/ 阅读全文
posted @ 2023-03-07 13:53 逆向狗 阅读(11) 评论(0) 推荐(0) 编辑
摘要:1.一维数组的了解 int a[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; n = sizeof(a) / sizeof(a[0]); //n = 8 前一个sizeof(a)的a 代表整个元素的地址 虽然也是首地址 但是他代表的是整个地址 8*4 sizeof(a[0]) 某一 阅读全文
posted @ 2023-03-07 11:48 逆向狗 阅读(12) 评论(0) 推荐(0) 编辑
摘要:1.寄存器和内存的区别 一个存储少速度快 一个存储多 速度较慢 2.计算机计量单位 3.内存编号 4.内存读取 1.立即数 2.寄存器 3.寄存器+数值 、4.寄存器+寄存器*值 5.寄存器+寄存器*值+数 5.读取内存编号 6.堆栈 这里面堆栈有个小错误,不知道有没有人发现 7.EFLAGS寄存器 阅读全文
posted @ 2023-03-06 16:54 逆向狗 阅读(16) 评论(0) 推荐(0) 编辑
摘要:1.二级指针做参数输出特性 形参想要改变实参 最好通过指针 点击查看代码 #include <stdio.h> #include <stdlib.h> #include <string.h> int getMem(char* p) { p = (char*)malloc(sizeof(char) * 阅读全文
posted @ 2023-03-06 16:11 逆向狗 阅读(17) 评论(0) 推荐(0) 编辑
摘要:代码精度不熟悉 给我搞了一个小时 点击查看代码 #include <stdio.h> /* 当当网每年书香节都推出购书优惠活动:每满100元就减50元。请编写程序, 输入你购书的金额,计算并输出可减金额和付款金额。 */ int main() { float a; int z = 0; scanf( 阅读全文
posted @ 2023-03-05 23:40 逆向狗 阅读(28) 评论(0) 推荐(0) 编辑
摘要:1.C提高 字符串拷贝的几种方法 点击查看代码 for (i = 0; src[i] != '\0'; i++) { dst[i] = src[i]; } for (i = 0; *(src+i) != '\0'; i++) { *(dst+i) = *(src+i); //dst[i] = src 阅读全文
posted @ 2023-03-04 11:11 逆向狗 阅读(13) 评论(0) 推荐(0) 编辑
摘要:1.进制本质 n进制 由n个进制组成 遇n进1 这也是一种进制 2.二进制是什么 计算机中的所有一切都是二进制 16进制是二进制的简写 例如 0 0000 A 1010 4个二进制合成一个十六进制 3.进制的运算 ~计算器 1.熟记 2进制16进制转换 2.编写这个进制表 3.数据宽度 4位宽度~存 阅读全文
posted @ 2023-03-03 22:46 逆向狗 阅读(26) 评论(0) 推荐(0) 编辑
摘要:扩展 1.指针变量和它指向的内存块是两个不同的概念 指针(本身也有东西)~内容 点击查看代码 注意 //写内存时,一定要确保内存可写 char *buf2 = "sadgkdsjlgjlsdk"; //文字常量区,内存不可改 //buf2[2] = '1'; //err char buf3[] = 阅读全文
posted @ 2023-03-03 15:46 逆向狗 阅读(20) 评论(0) 推荐(0) 编辑
摘要:1.空间复杂度 空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度 。空间复杂度不是程序占用 了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度计 算规则基本跟实践复杂度类似,也使用大O渐进表示法.- 就是一段函数在堆栈中开辟的堆栈大小 1. 2. 3 阅读全文
posted @ 2023-03-02 22:28 逆向狗 阅读(22) 评论(0) 推荐(0) 编辑
摘要:算法分为 两种 一种空间效率 一种时间效率 随着计算器在发展 空间效率不再说明 时间复杂度=代码运算次数 入口 实际中我们计算时间复杂度时,我们其实并不一定要计算精确的执行次数,而只需要大概执行次 数,那么这里我们使用大O的渐进表示法。 大O符号(Big O notation):是用于描述函数渐进行 阅读全文
posted @ 2023-03-02 19:10 逆向狗 阅读(22) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示