- 博客(5)
- 收藏
- 关注
原创 qsort函数介绍和模仿qsort的功能实现一个通用的冒泡排序
我们都知道排序一个数组的方法有很多种,下面我介绍一下用qsort函数来排序一个数组。 我们先看一下qsort函数的原型 自己定义的compar函数通用(模板)可以这么写 注 :①size_t表示类型是无符号整数 ②为什么是用void*类型的指针,因为该函数不知道你想排序的是什么类型的数组,所以这种类型的指针可以接受任意类型的地址,而且该类型的指针不能进行解引用,也不能进行指针的运算 ③顺带在这里提一下(后面模拟实现qsort函数的实现会用到
2023-07-09 23:49:08 62 1
原创 虚析构和纯虚析构
因为如果通过基类指针释放派生类对象而基类的析构函数不是虚函数,这将会造成未定义的行为,因为在这种情况下,编译器只会调用基类的析构函数,而不会调用派生类的析构函数。3.析构函数写成虚函数释放子类空间时,子类析构函数执行后会执行父类析构函数,避免内存泄漏,父类函数不是虚析构时,如果释放父类指针(执行子类的父类指针),只会调用父类的析构函数。1.多态使用时,如果子类有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码。将父类中的析构函数改为虚析构或者纯虚析构就可以解决。都需要有具体函数实现。
2023-04-08 15:23:23 96
原创 c++中多继承中关于构造函数中的一些问题
但是编译器给我报错了,报错显示Point类没有默认构造函数,原因是什么呢,因为我的Circle类是是从Point类派生过来的,在调用Circle类的构造函数时,会先调用Point类的构造函数。但是我在Point类已经设置了一个有参的构造函数,系统也不会再调用Point类的默认构造函数,而且此时你没有调用Point类的构造函数,所以报错了。即如果你希望避免这种无意义的初始化(都改为0),可以在Circle类的构造函数中使用初始化列表显式调用Point类的带参构造函数,避免不必要初始化提高代码效率。
2023-04-08 15:07:25 144 2
原创 使用new运算符可能忽略的知识点
这段代码会报错,原因是在dospeak(new cat)中,cat是一个已经定义的对象,而不是一个类型或者变量,所以不能用new来为其动态分配内存,可以改为。这是我在写代码时遇到的一个问题,我不知道这个问题对于部分人来说可能看起来简单,但是我还是想写出来。
2023-04-08 14:49:04 69
原创 希望不辜负四年后的自己
1.现在是大一下的一名代码小白,高考之后报了计科的这个专业,虽然这门专业知识点多,也难,但是努力一定可有收获,也希望将来的我可以成为一个代码高手。3.我也计划每周在学习编程时间上至少占到课余时间的百分之70,这样方便巩固知识,我也会在csdn上记录自己的学习历程,希望和大家共同进步。2.这个学期开的是c++课程,我希望在学完c++之后可以进一步明确未来的职业规划,为未来的求职生涯铺好道路,计划后面学习数据结构等知识。4.我也想在未来找到一家好公司,拥有一份好职业。
2023-04-01 11:30:01 75
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人