- 博客(61)
- 收藏
- 关注
原创 Itme4 对象使用前进行初始化
这样是没有使用初始化列表 在调构造函数之前会对这个对象的成员进行默认的初始化,再到构造函数当中 去进行。在不同的文件中 在一个文件中使用另一个文件的局部静态变量 可能会未进行初始化。赋值, 所以这里是进行的赋值操作并不是初始化。局部静态对象的的初始化顺序。这可能是由于文件的位置不同。
2024-05-29 15:16:18 252
原创 Item 3 使用const
在一个函数声明,const 既可以用在函数的 返回值,也可以用在个别的参数,对于 成员函数,还可以用于整个函数。如char* txt=“hello";改变其hello的值 text指针的位置并未发生改变。为了防止这样的出现 (a*b) 若不是const (a * b = c)不会报错。特别的是 对于成员函数的整个const 代表 不修改该对象的任何成员变量。在函数的最后面加const 和不加const是两个函数 是重载的!定义const的函数 在no const中调用。
2024-05-28 16:55:11 213
原创 Effective C++ 不要滥用宏
对于 simple constants(简单常量),用 const objects(const 对象)或 enums(枚举)取代 #defines。宏是不可修改的 const char * Text = "hello";这只代表 "hello"不可改变 可以Text = “1111”;对于 function-like macros(类似函数的宏),用 inline functions(内联函数)取代 #defines。所以一般为 const char * const Text = "hello";
2024-05-28 15:46:12 192
原创 俄罗斯方块大概
整体逻辑 把地图作为二维数组 所有的操作都对这个二维数组进行。typedef struct block //方块的结构体。方块的坐标对应着地图的位置 在4*4的二维数组中显示出来。2.方块结构体 用来记录方块的信息。3.通用数组 方块的所有的类型。VS2022 C++控制台窗口。1. 整体是一个map数组。
2024-03-15 21:32:13 346
原创 滴水内存地址堆栈
两个十六进制数 刚好是一个字节刚好 DC这的一个字节数据为E4 一个内存地址 后面表示四个字节的数据 所以有八个十六进制的数。BASE是高地址 所以放入一个四字节后就 -4。
2024-01-13 17:20:14 384
原创 逆向7通用寄存器
MOV指令前后的容器宽度要一致 如ECX与EAX 都是32位 mov eax,0x111 可以少写后面补零多写的会移除 源操作数是后面的 目标操作数是前面的。32位和64位寻址宽度 是查找内存宽度的范围 每一个编号对应一个字节 即内存宽度。32位是4g 64位大的多。0x123456是临时数。
2024-01-10 20:41:13 804
原创 逆向数据宽度与符号
有符号与无符号是程序员定的 并不是开头是1就表示负数 0表示正数 得看有无符号。正数与负数的 刚好是半 所以 0 表示正数 1表示负数。双字 32bit 4字节。
2024-01-09 20:42:49 810
原创 OBD汽车
03 41 0D 5555 这是响应 三个有效字节 23表示回应的速度 换算为10进制为35km/h。02 01 0D 5555(随机值)这是请求 两个有效字节 01 OD(请求速度)OBD很多的定死了 Vme就很灵活 WWH 就是两个的结合。PID 可以自己定义一些 一个字节255个。诊断设备流程 ====》》》》相当于客户端与服务器。
2024-01-08 21:58:59 844
原创 滴水逆向1
十六进制的定义:由十六个符号组成,分别是0 1 2 3 4 5 6 7 8 9 A B C D E F。十进制的定义:由十个符号组成,分别是0 1 2 3 4 5 6 7 8 9 逢十进一。九进制的定义:由九个符号组成,分别是0 1 2 3 4 5 6 7 8 逢九进一。
2024-01-08 21:33:01 920
原创 逆向P1P2总结
寻址宽度 以字节为单位 0xfffffff + 1 就是最大容量 转为十进制为 4294967296 / 1024 (k)/1024 (kb)/ 1024 (m) 4g。字节八位 word 16位 deword 32 位。为什么电脑有32位与64位之分。不建议看了太卡了 要有汇编基础。
2023-12-25 20:44:41 698
原创 数组螺旋矩阵
输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
2023-12-23 21:42:46 356
原创 滑动窗口双指针
类似窗口滑动 j代表的是窗口的结束位置 i表示开始位置。在while循环中是寻找最小数组的size。如果不存在符合条件的子数组,返回。找出该数组中满足其总和大于等于。
2023-12-20 19:49:59 369
原创 条款21 使用make_unique make_shared
一般都用make_unique make_shared。除了某些情况 了解这些情况 不用这个。
2023-12-18 16:05:16 350
原创 条款20 当share_ptr悬空用weak_ptr
weak_ptr主要是监视 问你有没有资源但是没有资源的所有权。share_ptr是有所有权 下面是循环引用的例子。
2023-12-18 15:40:32 361
原创 二分查找法
下一个收索不要包含这个mid 所以right = mid - 1。看加等号是不是合法的能不能出现left = right 的情况。左闭右闭与左闭右开,如何判断while里面要不要等号。左闭右闭 确定了mid大于target。
2023-12-17 16:45:04 21
原创 条款15用constexpr
gcc支持动态的 就是说 可以放一个变量 windows不行!linux gcc可以 int arr【a】红色的②上一句有问题的 定义有constexpr 但是传入运行的常量 退化为普通函数 所以报错。② constexpr 保证这个变量一定是编译时常量 如果是运行时就会报错。====》》》》编译期常量。c++是一门需要编译的语言 编译器将高级语言转化为机器语言。在函数模板中 就需要编译期常量 而运行时常量不行。可以将某些时期放在编译器 就十分高效。C++11中的constexpr。
2023-12-13 21:44:41 23
原创 条款七编译器自生成的构造等
a构造函数 b析构函数 c拷贝构造函数 d拷贝赋值函数 e移动构造函数 f 移动函数。当没给类声明默认的构造函数 编译器会自动生成 adcdf 五个函数。
2023-12-13 18:46:41 22
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人