自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于递归传入引用参数的一些心得

还有AVL树里,LL单旋转情况的时候,LL函数最尾有一个A = B,是因为传入参数root->lef会被t赋值为A,如果不修改的话旋转后的B节点就被跳过了;如果node是链表节点(树也行),r是链表头;那么关于函数f对链表做的修改,我可以理解为,在函数f的最尾有这样一行隐藏代码。主要是,二叉查找树相关内容里,insert传入参数为 (BSTnode*& root) 时;于是我在f中对r做的修改,会在最终提现到主函数里的r->next上;

2024-03-11 10:45:11 348 1

原创 数据结构算法总结(2023下学期)

在集合V-S中选Lowcost值最低的点加入集合S,更新V-S中剩余点的Lowcost值,pre值;边集E[],并查集Father[];对边集排序,每次取权值最小的边,若该边的两端点不在同一集合内(不形成环)则把该边加入最小支撑树;Kruskal算法更适合。

2024-02-26 18:15:08 388 1

原创 Visual Studio更顺手的设置

设置直接Enter键补全:工具——设置——文本编辑器——C/C++——高级——主动提交成员列表,设置为True;ctrl+/ 切换块注释 (不能设置成全局,要设置成文本编辑器)ctrl+D 删除行 (不能设置成全局,要设置成文本编辑器)还可以设置“成员列表提交字符”;报什么错就disable什么;(3) freopen报警告。

2024-02-26 17:12:52 458 1

原创 当遇到可能是编译顺序导致的错误时:

看看耦合的(也即一个类用到了另一个类)类的.h文件是否#include了别的类的.h文件;若有,试着把这个#include挪到.cpp里去;

2023-10-09 01:19:26 72 1

原创 对三种不同继承方式的理解

对外不可见”,也即“对类的对象不可见”,可以体现为,在main函数中能否通过实例化的派生类对象去访问基类的数据成员;“对内可见”,也即“对类可见”,可以体现为,在派生类的成员函数中是否能访问基类的数据成员;在单次继承中,我们无法观察到protected继承和private继承的任何差别;protected和private的区别只有在继承后再继承才能体现出来;暂时整理不出来为啥;

2023-07-01 01:10:44 67

原创 继承中的构造函数写法

首先明确的是,实例化子类的时候,调用的是子类的构造函数,而调用子类构造函数之前,父类的构造函数将先被执行;

2023-07-01 00:27:39 70

原创 不能返回一个指向临时变量的指针(例题分析)

因此,A和D可以排除,函数结束后,返回的这个A *指针是不安全的(虽然不等于NULL,而且可以访问,可能是测试有问题)同时报错 [Warning] address of local variable 'a' returned。顺便,C里this指针是常指针,这样返回把const A *转变成了A *,编译报错;函数f传入的参数a,是由拷贝构造函数生成的临时对象,在函数结束时会消亡;(B) 类 A 中定义的类型为 A* 的静态数据成员。

2023-07-01 00:16:39 62

原创 关于signal SIGSEGV, Segmentation fault

访问野指针问题在运行时不报错,而是卡住并结束,且return value 3221225477;只有在调试时,运行到访问野指针的语句时会报错signal SIGSEGV, Segmentation fault;原因:指针定义之后却没有初始化,会指向一个随机的无法访问的地址(但不是NULL);解决办法:让野指针指向一个具体的变量;

2023-06-29 18:53:33 1282 1

原创 关于[Warning] deprecated conversion from string constant to ‘char *‘警告

编译会报警告[Warning] deprecated conversion from string constant to 'char *',显示从字符串到char *为弃用的转换;这是由于:"apple"这样的const string是存储在const内存区里的,不允许修改,而我们用char *类型的指针指向了它,这样的修改会使程序出错;也因此,用char s[]指向"apple"就不会出错了;修改:把char *s改为char s[]即可;因此我们可以写 a=b,而不可以写 b=a;

2023-06-29 17:32:12 2820 1

原创 写深拷贝构造函数时的两个问题

语句可以将基类指针转换为派生类指针,其中 type-id 是派生类,expression是需要被转换的指针;如果转换成功,返回正常cast后的对象指针;即此处的a[i]是Shape *型,而new的返回值是Circle **型;证明new的返回值是一个指向new后面这个东西的指针;此处错误在于它会将一个指向Circle对象的指针转换为指向Shape对象的指针,这样做会导致访问a[i]->xxx时出现错误。在多态时,为了让基类指针数组正确地深拷贝,每个基类指针需要知道自己指向的是哪一个派生类;

2023-05-17 19:40:52 82 1

原创 undefined reference to ‘xxx‘

在C++中,当你声明一个类的静态成员变量时,它只是一个声明,而不是定义。因此,你需要在类外部提供一个定义;vtable是c++中虚函数表的意思,出现该编译错误是在类定义中定义了纯虚函数而没有实现;解决办法:为每个虚函数提供至少一个实现;

2023-05-17 13:36:05 210

原创 经典编译错误&警告收集

这是调用成员函数时忘记加括号。

2023-05-15 20:37:25 1061

空空如也

空空如也

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

TA关注的人

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