自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 const引用和值转递

核心差异的关键是是否创建副本:值传递拷贝副本(开销大、性能低),const 引用传递无副本(开销小、性能高)。场景选择原则:小型内置类型用值传递,大型对象 / 需避免拷贝的场景用 const 引用传递。核心优势:const 引用传递在保证原始数据只读安全的前提下,最大化提升程序性能,尤其适合大型数据类型的传递。使用场景数据类型推荐传递方式核心原因内置类型(int/char 等)值传递(优先)拷贝开销可忽略,直接访问效率更高,语法简洁STL 类型(string/vector 等)

2025-12-21 22:43:19 819

原创 关于Qt指针崩溃的问题

Qt 的QObject及其子类(包括所有对话框QDialog、窗口QWidget等)有一套自带的父子对象内存管理机制:当你通过QObject::setParent()(或构造函数指定父对象,如new QDialog(parent))建立父子关系后,父对象会在自身销毁时自动递归销毁所有子对象(即子对象的内存由父对象托管)。而 C++ 智能指针(如std::unique_ptr/std::shared_ptr)的核心是自动管理堆内存,在生命周期结束时(如超出作用域、被重置)自动调用delete释放对象。

2025-12-19 23:38:52 788

原创 向前声明的理解

前向声明是 C++ 中声明标识符存在但暂不提供完整定义的语法,核心用于「解耦头文件依赖」「避免不必要的编译耦合」,也是你实现「B.h 中用 A 类但不包含 A.h」的核心手段。你的需求(B.h 用 A 类但不包含 A.h)完全可以通过前向声明实现,只要将「需要 A 完整定义的操作」移到 B.cpp 中并包含 A.h 即可。我在A.h文件中声明一个类,在B.cpp中引入了A.h,如果我想在B.h中使用该类,同时不想在B.h中包含A.h。错误 1:前向声明后,在 B.h 中调用 A 的成员。

2025-12-19 23:36:52 919

原创 重绘QPushButton,将Button分三部分作为表头

最后结果样式:类名为TopButtonTopButton.h为:#ifndef TOPBUTTON_H#define TOPBUTTON_H#include<QPushButton>#include<QEvent>#include<QPainter>#include<QPaintEvent>#include<QMouseEvent>class TopButton : public QPushButton{

2022-03-13 13:07:47 434

转载 Qt的三种文件读取方式

Qt读写三种文件,QSettings读ini配置文件,QJsonDocument读JSON文件,QDomDocument读xml文件

2022-03-04 14:25:38 1327

原创 C++开发手册

C++ 中文开发手册 - 开发者手册 - 云+社区 - 腾讯云

2022-02-24 09:27:14 1210

原创 std::tuple

std::tuple是类似pair的模板。每个pair的成员类型都不相同,但每个pair都恰好有两个成员。不同std::tuple类型的成员类型也不相同,但一个std::tuple可以有任意数量的成员。每个确定的std::tuple类型的成员数目是固定的,但一个std::tuple类型的成员数目可以与另一个std::tuple类型不同。但我们希望将一些数据组合成单一对象,但又不想麻烦地定义一个新数据结构来表示这些数据时,std::tuple是非常有用的。我们可以将std::tuple看作一个”快速而随意

2022-02-16 12:47:48 232

原创 Visual Studio 2017 快捷键

分析分析.向后定位Shift+Alt+3分析.向前定位Shift+Alt+4体系结构体系结构.新建关系图Ctrl+\、Ctrl+N生成生成.生成解决方案Ctrl+Shift+B生成.取消Ctrl+Break生成.编译Ctrl+F7生成.对解决方案运行代码分析Alt+F11类视图上下文菜单类视图上下文菜单.类视图多选项目引用项.属性Alt+Enter调试调试.应用代码更改Alt+F10调试.自动窗口Ctrl+Alt+V、A调试.全部中断Ctrl+...

2022-02-15 14:37:17 1667

原创 城市道路分类与分级

城市道路定义:城市道路是指大、中、小城市以及大城市的卫星城等规划区内的道路、广场和停车场等,不包括街坊内部道路。城市道路与公路分界线为城市规划区的边线。城市道路包括城市与卫星城等规划区以外的进出口道路。分类:1、快速路:快速路指在城市内修建的具有单向多车道(双车道以上)的城市道路,具有中央分隔、安全与管理设施,车辆出入全部控制并控制出入口间距,是为机动车提供连续流服务的交通设施,是城市中快速大运量的交通干道;快速路的服务对象为中长距离的机动车交通,与成实外主要的高速公路进出口连通,快速集散出入境

2021-10-23 10:19:01 6549

原创 C++中的const

代码中为什么使用const?第一:采用符号常量写出的代码更容易维护;第二:指针常常是边读边移动,而不是边写边移动;第三:许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下: 常变量:const类型说明符 变量名 常引用:const类型说明符 &引用名 常对象:类名const对象名 常成员函数:类名::fun(形参)const 常数组:类型说明符cons...

2021-10-22 13:39:00 1642

原创 Qt5之伙伴编辑模式 Edit Buddy

QLabel标签和伙伴(buddy)窗口部件包括一个标签(QLabel)和一个窗口部件,他们具有伙伴关系,既指当用户激活标签的快捷键时,鼠标/键盘的焦点将会转移到他的伙伴窗口部件上。只有QLabel标签对象才可以有伙伴窗口部件,也只有该QLabel对象具有快捷键时(在显示文本的某个字符前面添加一个前缀“&”,就可以定义快捷键),伙伴关系才有效。EG:QLineEdit * a...

2020-03-29 14:21:19 2067

原创 qt 中QDialog 和QMainWindow 和 Qwidget 的区别

QWidget是所有图形界面的基类QMainWindow是一个提供了菜单、工具条的程序主窗口QDialog是对话框、多用于短时间与用户的交互QMainWindow和QDialog都是QWidget的子类。    QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件

2017-05-13 23:39:21 383

原创 C++计算PI的值

#include using namespace std; double arctan(double x) {          double sqr = x * x;          double e = x;          double r = 0;          int i = 1;          while (e / i > 1e-15) {

2017-05-08 14:02:36 7989

转载 C++ using关键字作用总结

1.在当前文件中引入命名空间这是我们最熟悉的用法,例如:using namespace std;2.在子类中使用 using 声明引入基类成员名称(参见C++ primer)在private或者protected继承时,基类成员的访问级别在派生类中更受限:class Base {public:std::size_t size() const { return

2017-05-07 12:08:17 452

原创 Linux下编写C/C++程序和ddd的使用

1、在Linux环境下编写C语言程序:首先,在linux下要有一个文本编辑器,我这里用的是vi编辑器。(1)、创建一个.c文件     vi +文件名   eg: vi   hello.c(2)、 在编辑器里将程序写好并保存,不会用vi 的先学习一下vi的用法。eg:#includeint main(){printf("Hello world");return

2017-05-06 10:11:55 5140

转载 嵌入式工程师之路

经过一段艰难的找工作历程,我终于开始了新的生活 在面试那段时间我看到了一个面试经验分享的帖子:《一个五年Android开发者百度、阿里、聚美、映客的面试心经》,同样工作5年,我实在自愧不如。或许是因为嵌入式太繁杂,一个公司一种开发模式,导致我个人的积累有些单薄。为了方便大家,我决定简单列出面试题目,而不做详细说明,大家可以自己去搜索答案。背景: 我之前工作过两家公司,一家做

2017-05-05 20:47:57 941

原创 linux常用命令

Linux 常 用 命 令 一:关机命令1:shutdown语  法:shutdown [-efFhknr][-t 秒数][时间][警告信息]说明:shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。使用shutdown命令时在系统将要关机前,系统管理员会通知所有登录的使用者系统将要关闭。而且login指令会被冻结,即新的用户不能再登录。这是最安全的

2017-05-05 20:44:39 236

原创 关于在win系统基础上安装Linux系统卡在欢迎页面

出现状况:在给电脑安装双系统时,Win基础上安装linux系统,会出现在安装以及安装好后进linux系统时,电脑卡在欢迎页面处进不去系统。原因:电脑原win系统中原配置的显卡驱动是独立显卡的相关驱动信息,而在linux刚安装时,默认的是启用电脑的集成显卡,这就意味着linux系统启动就启用集成显卡,这就与win之前在bios中配置相冲突。导致卡顿,进不去图形界面。解决办法:直接

2017-05-05 20:40:28 1826

C++领域23种经典设计模式详解及其应用场景

内容概要:这篇文章深入介绍了C++中23种经典设计模式,将其划分为创建型模式、结构型模式和行为型模式三个类别。每一类别包含若干模式,每种模式都有具体的代码实现并附有详细的解释。创建型模式解决了对象创建的问题;结构型模式专注于管理和组合不同对象间的关系;行为型模式则着眼于对象间的通信方式及行为的实现。 适合人群:适用于具有一定的C++编程经验和面向对象设计基础知识的研发人员以及高校学生。 使用场景及目标:①帮助程序员理解不同设计模式的应用场合与实现细节;②指导开发者在实践中灵活选用恰当的设计模式优化代码质量;③提高代码可维护性、可复用性和可扩展性,促进项目高效开发。 其他说明:文章还包括了大量实际的例子来辅助理解和学习各个模式的特点和优势,并强调设计模式是基于经验总结形成的通用解决方案,可以显著提升软件架构的质量。

2025-02-05

计算几何图形算法大全.rar

计算机图形学相关几何算法

2021-10-23

空空如也

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

TA关注的人

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