自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 class内存布局与原理以及dynamic_cast原理

内存布局: C有两个vftable,因为它继承了两个有虚函数的类。C::A_virt2的地址将替换C的vftable中A::A_virt2的地址,C::B_virt2将替换另一个表中B::B_virt2的地址。MSVC 通常使用_thiscall_调用约定,将类的this指针通过ecx寄存器传入成员函数中.进行定位类的实体对象static 成员函数不需要类实例,因此它们的工作方式与普通函数相同。没有_this_指针被传递给ecx寄存器。因此,无法 可靠地对静态成员函数与普通函数进行区分。 普通成

2022-07-02 04:51:28 162

原创 关于bool在结构体中所占字节的测试

#include<iostream> struct MyStruct { bool bo1; bool bo2; int num1; int num2; }; struct MyStruct m; int main() { m.bo1 = true; m.bo2 = true; m.num1 = 0x100; } 查看内存: 确实是只占一字节 但是编译器会保证字节对齐,所以会对padding进行填充 ...

2022-01-16 15:13:38 848 1

转载 C/C++中extern关键字详解

1基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的,C++的规则在翻译这个函数名时会把fun这个名字变得面目全非,可能是fun@aBc_int_int...

2022-01-14 19:36:36 1064

原创 第一次写小工具

批处理小工具 废弃

2022-01-14 15:05:47 160

原创 visual studio调试cmd启动的控制应用程序

代码中添加: while (!IsDebuggerPresent()) { Sleep(5 * 1000); } 用cmd启动 下断并调试就可以了

2022-01-14 10:38:03 289

原创 人生中的第一篇博客

呃。。。。 啥也不会。。不知道说点什么好

2022-01-12 11:48:42 122

空空如也

空空如也

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

TA关注的人

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