自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++机制坑之多态

首先多态的实现是依赖虚表的,b首先继承了a的虚表,因此在一开始(在B的test实现之前),b中的虚表已经有了A::test(int),但由于b类重写了a的test函数,虚表中的test函数被替换为b自己实现的test,但是!,此时替换时可能把A的test函数的“壳”和B的test函数的代码实现结合在一起了,这是个人猜测,因为只有这样似乎才能解释得通,如果有正确理解请予以指正。a->test()为什么出现这种结果,以下为个人猜测想法。为什么出现这种情况?

2024-07-25 20:32:36 153

原创 c++中的隐式转换

在主函数我们通过直接赋值的方式初始化了三个对象,但是按理说cat1,cat2,cat3是cat类型,而初始化的值依次是string,int,double类型,为什么能够成功赋值呢,这就是c++11的隐式转换规则——当存在参数仅有一个的构造函数时,允许直接将值赋值给对象完成初始化。同时,隐式转换有很多有意思的现象,即在隐式转换的过程中,总是调用构造函数(而不是视为一次赋值),并且当对一个对象进行多次隐式转换,仅有最后一次隐式转换生效。通过以下例子说明隐式转换的含义,首先创建一个类cat。

2023-12-29 16:51:18 394 1

原创 计算字符串中最大连续相同的字符个数

3.如果当前连续字符大于max,将max的值改为count,一旦出现前后字符不相同,将count置为1然后继续循环,当循环到后一个字符是\0时代表字符串已经结束,返回max。2.需要一个max记录出现过的最大的连续相同字符个数,还需要一个count记录当前连续字符已经出现了几个。ok,理清思路,咔,很快啊,代码就写出来了。1.只要字符串有值,连续相同最少也是一个。怎么做呢,先理一下思路。大功告成,继续学习!

2023-07-03 22:05:33 918 1

原创 把数据的存储从小端字节序转化为大端字节序

关键点在于将val的地址强制转换为(char*) 会拿到val数据的第一个字节的数据,然后每次将char*类型的p++,都会使p的地址向前一个字节,依次拿到高位地址的高位数据,每次都将p指向的一个字节的数据依次从buf的高地址处开始存储(p最早指向最低位数据,存放在buf的最高位地址),存放完毕,退出循环即可实现!我们知道做这道题只需要把float四个字节的数据从低地址开始一个一个地拿出来,存放在一个地方,然后再从存放float数据的高地址处把刚才保存的数据依次放回去就可以了,那么代码怎么写呢。

2023-07-03 18:48:20 626 1

原创 C语言结构体中的内存对齐,计算结构体的大小

计算结构体大小的方法

2023-07-01 19:32:32 78

原创 判断编译器是大端字节序还是小端字节序

判断大小端字节序

2023-07-01 17:00:34 173

原创 去掉给定字符串中重复的字符

去掉给定字符串中重复的字符

2023-07-01 11:28:28 814 1

空空如也

空空如也

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

TA关注的人

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