自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 c++some

LNK2019: 无法解析的外部符号 "public: void __cdecl CSpPublicInterfaces::AddActMenuItem(class std::basic_string<char,struct。这里显示返回值是void类型 是有可能编译器仍然使用旧的编译缓存,没有检测更改。即使修改了函数的返回类型,编译器可能没有重新编译相关的。有个问题是为什么这里要用指针 若是直接用对象的话 SonImpl这个类没有定义只有声明会报错。好处1.可以减少头文件改动。文件 重新生成项目。

2025-03-26 18:31:41 249

原创 work日记

1.重新学习了P处理 windows脚本语言 pushd %cd%...... 改变目前 popd回到当前目前。到时候自己修改p处理更加方便 能看懂脚本里边在干什么。工具链来为 iOS 设备编译 C++ 代码,2.项目是通过 ndk-build 根据。armeabi-v7a 32位。arm64-v8a 64位。

2025-03-25 20:53:51 193

原创 C++相关

3.回顾了虚函数,定义virtual 就是虚函数 一般是父类指针指向子类对象的时候显示多态,若不是指针则是静态绑定 为函数重写 出现 virtual funtion = 0;就是纯虚函数 有一个纯虚函数的类是抽象类,它不能被实例化(因为虚函数未实现 ) 若是父类是抽象类 那么子类得把所有的纯虚函数都实现 否则这个子类也变成抽象类。shared_ptr 的父类有两个指针 一个是自己的类型指针 还有一个引用计数指针 一般都是用unique_ptr没有管理共享所有权的开销。,而不会影响其他指向同一对象的。

2025-03-24 21:00:14 305

原创 小tips

公司tips

2024-10-25 14:55:13 104

原创 8 非静态数据成员默认初始化

1.不要使用括号()对非静态数据成员进行初始化,因为这样会造成解析问题,所以会编译错误。C++11标准提出了新的初始化方法,即在声明非静态数据成员的同时直接对其使用=或者{}2.不要用auto来声明和初始化非静态数据成员。

2024-09-30 22:15:00 246

原创 7.lambda表达式

有几天没写了 最近有点小忙 问题不大。

2024-09-27 21:00:00 518

原创 第6章 右值引用

常量左值引用可以绑定右值是一条非常棒的特性,但是它也存在一个很大的缺点——常量性。只有实际类型是一个非引用类型或者右值引用类型时,最后推导出来的才是一个右值引用。(A& & 变成 A&;对于这一点,常量左值引用的特性显得更加有趣,它除了能引用左值,还能够引用右值。但是,如果我们传递的是右值而没有使用完美转发,右值的状态会被“降级”成左值,这意味着。万能引用长的和右值引用一样 都是&& 若是有类型的推导就是万能引用 若是没有类型推导就是右值引用。所有右值引用折叠到右值引用上仍然是一个右值引用。

2024-09-22 16:00:00 642

原创 5函数返回类型后置(C++11)

【代码】5函数返回类型后置(C++11)

2024-09-21 20:00:00 234

原创 4decltype说明符

typeid返回的std::type_info删除了复制构造函数,若想保存std::type_info,只能获取其引用或者指针。虽然typeid可以获取类型信息并帮助我们判断类型之间的关系,但遗憾的是,它并不能像typeof那样在编译期就确定对象类型。typeid的返回值总是忽略类型的 cv 限定符,也就是typeid(const T)== typeid(T))。对象的引用,这就是所说的“返回值是一个左值”。由于返回的是引用,其生命周期与程序相同,因此其所引用的。这是在C++17中推出的。

2024-09-21 14:41:52 274

原创 三 auto占位符

1.当用一个auto关键字声明多个变量的时候,编译器遵从由左往右的推导规则,以最左边的表达式推断auto的具体类型int n = 5;// 这里auto被推导为 int 所以int m = 10;合理//编译失败,声明类型不统一5 : 8.0;// i的数据类型为double3.虽然C++11标准已经支持在声明成员变量时初始化(见第8章),但是auto却无法在这种情况下声明非静态成员变量auto i = 5;// 错误,无法编译通过//这个样子可以 但是i就是常量了C++17修改。

2024-09-20 23:00:00 337

原创 现代c++语言核心特性解析

C++核心特性读书笔记

2024-09-20 00:15:00 678

原创 C++相关

其中 capacity返回的是Vector的容量 若是加入的元素后超过这个容量 那么就会扩容 ( 这扩容好像是1.5倍还是2倍) 但是扩容操作是非常费时间的 一旦内存重新分配,vector元素相关的所有reference、pointer、iterator 都会失效。Vector的容量非常重要 它与大小有关的函数有 size(),empty(),max_size() capacity(),c.assign(beg,end)将区间[beg,end)内的元素赋值给c。

2024-09-19 11:44:41 967

原创 Itme4 对象使用前进行初始化

这样是没有使用初始化列表 在调构造函数之前会对这个对象的成员进行默认的初始化,再到构造函数当中 去进行。在不同的文件中 在一个文件中使用另一个文件的局部静态变量 可能会未进行初始化。赋值, 所以这里是进行的赋值操作并不是初始化。局部静态对象的的初始化顺序。这可能是由于文件的位置不同。

2024-05-29 15:16:18 286

原创 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 250

原创 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 240

原创 滴水逆向PE结构

PE

2024-03-22 17:27:45 420

原创 俄罗斯方块大概

整体逻辑 把地图作为二维数组 所有的操作都对这个二维数组进行。typedef struct block //方块的结构体。方块的坐标对应着地图的位置 在4*4的二维数组中显示出来。2.方块结构体 用来记录方块的信息。3.通用数组 方块的所有的类型。VS2022 C++控制台窗口。1. 整体是一个map数组。

2024-03-15 21:32:13 373

原创 汽车协议学习

小白第一次接触汽车诊断自己的一些理解 ,如果有啥不对的地方请您指出一下谢谢大佬!!

2024-03-09 14:32:38 2124 1

原创 滴水内存地址堆栈

两个十六进制数 刚好是一个字节刚好 DC这的一个字节数据为E4 一个内存地址 后面表示四个字节的数据 所以有八个十六进制的数。BASE是高地址 所以放入一个四字节后就 -4。

2024-01-13 17:20:14 412

原创 逆向7通用寄存器

MOV指令前后的容器宽度要一致 如ECX与EAX 都是32位 mov eax,0x111 可以少写后面补零多写的会移除 源操作数是后面的 目标操作数是前面的。32位和64位寻址宽度 是查找内存宽度的范围 每一个编号对应一个字节 即内存宽度。32位是4g 64位大的多。0x123456是临时数。

2024-01-10 20:41:13 831

原创 uds在软件架构上的分层

uds没有会话层 没有 6。

2024-01-09 21:50:30 448

原创 逆向数据宽度与符号

有符号与无符号是程序员定的 并不是开头是1就表示负数 0表示正数 得看有无符号。正数与负数的 刚好是半 所以 0 表示正数 1表示负数。双字 32bit 4字节。

2024-01-09 20:42:49 858

原创 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 926

原创 滴水逆向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 1001

原创 逆向P1P2总结

寻址宽度 以字节为单位 0xfffffff + 1 就是最大容量 转为十进制为 4294967296 / 1024 (k)/1024 (kb)/ 1024 (m) 4g。字节八位 word 16位 deword 32 位。为什么电脑有32位与64位之分。不建议看了太卡了 要有汇编基础。

2023-12-25 20:44:41 722

原创 203删除链表元素

【代码】203删除链表元素。

2023-12-24 21:59:14 361

原创 数组螺旋矩阵

输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。

2023-12-23 21:42:46 379

原创 滑动窗口双指针

类似窗口滑动 j代表的是窗口的结束位置 i表示开始位置。在while循环中是寻找最小数组的size。如果不存在符合条件的子数组,返回。找出该数组中满足其总和大于等于。

2023-12-20 19:49:59 396

原创 模板元编程

2023-12-20 16:19:26 365

原创 26避免万能引用的重载

2023-12-20 14:34:19 365

原创 emplace_back push_back

2023-12-20 11:21:12 396

原创 条款25右值用move 通用用forward

2023-12-19 19:59:49 363

原创 NRVO失效

2023-12-19 19:32:40 398

原创 编译器返回值优化

2023-12-19 15:12:12 329

原创 24区分万能与右值

万能引用:T&&+推导 才是。

2023-12-19 14:07:58 407

原创 2.双指针法

快的在前面判断是不是等于val 若不等于就赋值给slow然后slow++删除数组中全部的某一个元素。

2023-12-18 20:29:03 363

原创 条款22pimpl

2023-12-18 16:45:21 384

原创 条款21 使用make_unique make_shared

一般都用make_unique make_shared。除了某些情况 了解这些情况 不用这个。

2023-12-18 16:05:16 377

原创 条款20 当share_ptr悬空用weak_ptr

weak_ptr主要是监视 问你有没有资源但是没有资源的所有权。share_ptr是有所有权 下面是循环引用的例子。

2023-12-18 15:40:32 372

原创 条款19share_ptr

2023-12-18 11:15:24 47

空空如也

空空如也

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

TA关注的人

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