自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++】多态功能细节问题分析

每一个区都是以块的组织方式进行存贮,所以我们只需要比较虚表的地址与a\ap\as\s哪个变量的地址更加靠经就基本能判定b的虚表存储在哪个区。如果基类的析构函数不是虚函数,在通过基类指针删除派生类对象时,只会调用基类的析构函数,而不会调用派生类的析构函数。如果基类的析构函数被声明为虚函数,那么通过基类指针删除派生类对象时,首先会调用派生类的析构函数,然后是基类的析构函数。值得注意的是,虚表的存贮位置是值得讨论的,很多人博客的表述及通义千问都是认为虚表是存储在静态区,但是从实际操作来看似乎有些问题。

2025-04-03 16:07:52 847

原创 【C++继承】关于继承的细节分析

代码如下更改,derived1和derived2分别打印baseValue的地址,会发现两边的地址不同,即derived1和derived2继承的于Base的baseValue是分开的,可以得出结论——直接继承,在那条继承通道上会产生各自的继承副本,数据与其他继承通道是不共享的。其实隐藏是很好理解的,即就近原则,在Derived1中有getVal()函数,则Derived1中的getVal()函数是更加靠近d1的,所以会优先调用Derived1中的getVal()。:消除了由于多重继承引起的二义性问题。

2025-04-02 22:11:19 433

原创 【C++】论malloc与new在计算机底层的相同点和不同点

1、相同点newdeletemallocfreenew是C++特有的动态空间申请方法,new可以理解为是以对象为单位去申请空间,但是new一个对象时会调用对象的构造函数进行初始化。如下图所示,都是通过new申请的空间并自动调用构造函数进行初始化,同时将对象的地址给d1和d2。当然如果使用new去申请一个对象数组,申请的形式与上图稍有差别,如下图所示,在C++11中允许使用花括号去初始化对象数组,当然如果不使用花括号编译器也会自己调用对象的构造函数去初始化数组中的每个对象。

2025-03-01 21:07:33 302

原创 C++:模板

在预处理、编译、汇编、链接的过程中,声明在编译时都可以通过,但是没有地址,只有在链接时拿着修饰后的函数名去其他符号表查找。对于情况3,原理如下:由于在**.o文件中由于模板,在该文件中由于模板不能实例化,不能生成地址,所以在符号表中查不到链接。模板可以减少代码量,可以理解为“一个瓶子可以装多种酒”,如下图所示是一个输出的模板,可以对多种类型进行。特化可以理解为为一般的方法增加特殊版本,这样就能让在特殊的情况也能照样使用。2、函数链接没查到,因为函数没有定义。3、函数链接查不到,但是函数定义了。

2024-03-25 21:49:24 241

原创 C++:容器适配器、deque、优先队列、反向迭代器

deque是一个双端队列,但是又与一般队列的性质不同,deque可以头插头删,也可以访问任意一个位置的数据,可以说vector和list的方法deque都有,但是deque有较多的坑。可以使用正向迭代器去封装反向迭代器,正向迭代器和反向迭代器是对称的,在反向迭代器中进行*操作是解引用前一个位置。所以高频的头插头删是适合deque的,deque用来适配stack和queue的默认容器是合适的。但是[]不够极致,计算在哪个buff,在哪个buff的第几个。1、先看在不在第一个buff数组,在就找位置。

2024-03-21 17:07:14 200 1

原创 C++基础

C++命名空间、缺省函数、函数重载、引用、构造函数、析构函数,拷贝构造、运算符重载

2024-03-05 19:27:22 933 1

原创 整型和浮点型的存储方式分析

整数和浮点数在计算机中的存储方式,并介绍整型的大小端的存储区别以及浮点型与整型数据在存储上的区别

2023-01-08 13:33:13 1102 1

原创 【操作系统】FIFO先进先出页面置换算法(C语言实现)

FIFO页面置换算法,计算缺页率,文末附代码。模拟内存的页式管理,实现内存的分配和调用,完成虚拟内存地址序列和物理内存的对应。

2022-12-05 19:18:14 13440 6

原创 【C语言】vs2019中数组越界导致死循环输出的分析

本实验分析一种数组越界导致输出死循环的情况。

2022-11-30 15:49:34 737 1

原创 计算机网络原理(谢希仁第八版)第三章课后习题详解

计算机网络原理(谢希仁第八版)第三章课后习题详解

2022-11-27 21:49:43 31778 5

原创 【C语言】指针基础-指针类型的区别

指针基础看这一篇就够了

2022-11-22 23:25:43 1051 5

原创 【C语言】整型提升(隐式类型转换)

整型提升(隐式类型转换)

2022-11-18 23:33:39 505 1

原创 【操作系统】最高响应比优先的进程调度算法-C语言(有代码)

最高响应比优先的进程调度算法-C语言(有代码)

2022-11-14 23:58:33 14188 1

原创 【操作系统】基于动态优先级的进程调度算法-C语言实现(有代码)

基于动态优先级的进程调度算法-C语言实现(有代码)

2022-11-14 23:57:48 9020 1

原创 【操作系统】不同进程调度算法的比较

不同进程调度算法的比较

2022-11-11 23:36:21 299

原创 【操作系统】使用C语言实现轮转法进程调度(有代码)

使用C语言实现轮转法进程调度

2022-11-05 10:28:18 1233 3

原创 【操作系统】死锁问题---死锁的消除方法

解释死锁的消除方法

2022-11-04 14:37:52 4681

原创 浮点数尾数基值大小(计算机系统结构)

浮点数尾数基值大小(计算机系统结构)

2022-10-30 21:04:50 2768

原创 我妹问我函数有什么用,我专门举了汉诺塔问题的例子,我奶奶看了都说好!!!

我妹问我函数有什么用,我专门举了汉诺塔问题的例子,我奶奶看了都说好!!!

2022-10-19 21:27:26 363 1

原创 Dekker算法实现进程互斥

进程互斥的软件实现:Dekker算法

2022-10-17 00:00:26 511

空空如也

空空如也

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

TA关注的人

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