- 博客(19)
- 收藏
- 关注
原创 C++基础(9.5 Thu.)
析构函数是虚函数以确保在通过基类指针删除派生类对象时,派生类的析构函数也能被正确调用。这是关键的,如果析构函数不是虚函数,基类指针在删除对象时只会调用基类的析构函数,从而导致派生类的资源无法正确释放,可能导致资源泄漏或未定义行为。通过将析构函数声明为虚函数,可以确保正确的析构顺序,先调用派生类的析构函数,再调用基类的析构函数。
2024-09-19 16:23:02 646
原创 C++11新特性
1.自动推导变量类型2.auto与decltype的区别auto用于推导变量的类型,而decltype用于推导表达式的类型。3.auto与范围for循环4.auto的限制auto不能用于推导未初始化变量的类型;推导时必须有初始化表达式。此外,auto无法推导函数参数类型或返回类型的具体形式。
2024-09-12 17:09:45 701
原创 4.QT部分面试题
继承现有控件方法: 继承自 Qt 提供的现有控件类(如QWidget等),并重写其方法来实现自定义行为。步骤创建一个新类,继承自现有的 Qt 控件类。重写需要修改的虚函数(如paintEventmouseEvent等)来实现自定义绘制或交互。在构造函数中设置控件的初始属性。示例:1.自定义按钮的背景颜色和边框。2.按钮点击时改变颜色。3.通过重写paintEvent方法自定义绘制效果。#include //用于获取控件的样式选项。
2024-09-12 15:03:43 1054
原创 如何使用Visual Studio的内存诊断工具进行内存泄漏检测
根据报告提供的信息,检查你的代码中是否存在未释放的内存块。确保所有动态分配的内存都有适当的释放,尤其是那些由。
2024-09-10 14:00:48 817
原创 如何使用Valgrind来检测内存泄漏和其他内存问题
Valgrind将运行你的应用程序,并输出内存泄漏的详细报告到终端。报告中包括泄漏的内存块、泄漏的大小、以及可能导致泄漏的代码位置。:查看“LEAK SUMMARY”部分,找出“definitely lost”或其他错误信息的具体记录。选项指示Valgrind进行详细的内存泄漏检查。:追踪未初始化内存的来源,帮助识别问题的根源。使用Qt的父子对象机制自动管理内存。为你的Qt应用程序的可执行文件路径。确保在容器中删除不再需要的对象。:显示仍然可达的内存块。分配的内存都有对应的。
2024-09-10 13:52:58 879
原创 C++基础性问题(9.4)
_____________________________________________________________________________2.2常量指针:能修改指针的指向,不改变对象值2.3指针常量:变值 不变指向2.5常量成员函数:成员函数声明为 时,保证不修改类成员变量 _______________________________________________________________________________________________
2024-09-05 16:31:32 870
原创 3.段错误一般是什么原因造成的,如何快速排查
文件的第 5 行发生了内存越界写入,Valgrind 提供了详细的堆栈跟踪信息,帮助你定位问题。当程序崩溃时,通常会生成一个堆栈跟踪(stack trace)。仔细检查相关的代码部分,特别是涉及指针操作的部分,确保指针被正确初始化、使用和释放。选项帮助 Valgrind 跟踪无效内存访问的来源,提供更多的上下文信息。编写单元测试来验证特定功能的行为,特别是在涉及到指针和动态内存管理的功能。选项会启用详细的内存泄漏检查,并报告每个泄漏的堆栈跟踪。在关键位置添加日志输出,以便了解程序的执行流程和状态。
2024-09-03 12:12:14 492
原创 QT项目篇——网盘搭建
QMainWindow 是一个自带高级功能的窗口类,常用于创建桌面应用程序的主窗口。而 QWidget 是 Qt 中最常用的窗口类,用于创建基本的窗口组件。
2024-03-10 16:08:51 1900 1
原创 QT篇——QT基础
QT对C++进行了扩展,引用了信号与槽的机制。QML:用来描述应用程序界面的声明式脚本语言。Ui::Widget就是Ui_Widget。
2024-01-15 18:07:06 366 1
原创 C++篇——快速入门(day08)
的一种关系,允许一个类能访问另一个类的public、protected、private方法和属性。③方法实现时忘记写明是哪个类中的 void Others :: kiss()在类中某个地方写入,从写入处开始保护所有方法和属性。实现方法:先去调用父类中的方法,再去进行特殊化。②子类构造器程序不熟悉,有时忘写子类方法的参数。基类里提供通用的函数,子类里修改方法的实现。友元关系 (基础特性之一),子类构造器程序中不用加。
2024-01-08 23:01:11 388
原创 vscode篇——运行c++文件出现preLaunchTask“C/C++:gcc.exe 生成活动文件”已终止,退出代码为-1
最后是删掉tasks.json,然后shift+ctrl+p重新生成tasks.json。刚开始:修改tasks.json,将gcc.exe修改成g++.exe,不行。
2024-01-02 14:15:39 3233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人