自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小勇博客

学习,成长中!

  • 博客(768)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++之指针探究(三):指针数组和数组指针

前文:C++之指针探究(二):一级指针和一维数组一. 指针数组或:指针数组的本质是数组,数组中每一个成员是一个指针。定义形式如下:  char∗\ast∗ pArray[10];语法解析:pArray 先与“[ ]”结合,构成一个数组的定义,char∗\ast∗修饰的是数组的内容,即数组的每个元素。例4:运行结果:附例4代码//小问学编程#include <iostream>using namespace std;int main(){ char* pArr

2020-12-26 18:55:14 443

原创 qt-C++语法笔记之Qt Graphics View 框架中的类型辨析完全指南

画一条线画一个矩形画一条路径设置颜色、线宽、选中、移动自定义方式基类开发成本灵活度可复用 Qt 现成绘制推荐场景继承具体图元类低中高改行为,不大改外观继承抽象形状基类中中高中自定义形状,但仍然想用pen/brush继承最基础抽象类高最高低完全自定义复杂图元适合:本质上就是矩形,只加一点行为。public:protected:特点不用自己写不用自己写paint()改行为最方便虽然不是图元,但在自定义时非常有用。用途说明。

2026-05-03 17:03:30 442

原创 C语言笔记之栈回溯-调用栈跟踪

backtrace = 当前函数调用链的快照是调试中最重要、最常用的信息之一好的 backtrace 能让你在几秒钟内定位问题,不完善的 backtrace(或没有)可能会让你调试好几天。

2026-05-03 14:18:44 100

原创 网络通讯笔记之两台设备通过tcp通讯,都需要知道对方的ip和端口号吗?

两台设备进行 TCP 通讯前,必须先确定好谁做服务端(负责监听),谁做客户端(负责连接)。,客户端主动来连接就可以了。服务端不需要事先知道任何客户端的 IP 或端口。模型,这两者的角色和对地址信息的需求是完全不同的。这就是 TCP 最经典、最简单、最常用的方式。在标准的 TCP 客户端-服务器模型下,在标准的 TCP 通讯中,TCP 通讯通常采用。

2026-04-04 19:08:17 305

原创 git笔记之git commit --amend三种常用写法的简洁区别对比

想仔细编辑提交描述(多行、修改作者等) → 用不带参数的。只改文件,不想改提交描述 → 用。(最推荐用于“补文件”场景)想顺便改提交描述 → 用。

2026-04-04 15:55:15 74

原创 git笔记之已push到远程,想把最新的两个commit合并为一个commit, 使用reword和fixup

Git 会再次打开编辑器,让编辑第一个 commit 的消息。安全一点,如果别人已经 push 了,它会失败)。合并,然后在 reword 阶段写新消息。修改成想要的最终消息后,保存退出。保存并退出编辑器(vim 是。,其他编辑器按对应方式保存)。如果两个消息都不想要,直接用。更灵活,推荐这种方式。

2026-04-04 13:30:45 473

原创 git笔记之--abort和--quit参数详解

Git 中有 和 这两个非常重要且常用的参数。它们主要用于中断或取消正在进行的、涉及多步或可能产生冲突的 Git 操作。在遇到难以解决的代码冲突,或者你突然发现自己执行了错误的命令时,这两个参数就是你的“救命稻草”。但它们在处理善后工作时有着本质的区别。以下是它们的具体含义和应用场景:3.核心区别总结为了更直观地理解,你可以参考下表:日常建议:在 95% 的情况下,如果你遇到冲突想反悔,直接使用 即可。 通常是高级玩家在进行复杂的历史重写时才会用到的高阶用法。

2026-03-29 18:18:25 341

原创 存储笔记之机械硬盘分类及 3.5 英寸裸盘的常见连接方式

如果是普通家用电脑扩容:买3.5寸 + SATA接口 + 蓝盘。如果是组建NAS(家用云盘):买3.5寸 + SATA接口 + 红盘(注意避开SMR叠瓦盘,尽量买CMR垂直盘)。如果是外带数据:买2.5寸 + USB接口的移动硬盘。

2026-03-22 16:33:11 568

原创 Windows笔记之windows11和windows10启动速度优化

关闭后可能提升性能,但会降低一定安全性。这是 Windows 10 自带的功能,会在关机时保存系统核心状态,从而缩短下次开机时间。Windows 11 提供了更直观的启动项管理界面,关闭不必要的自启软件非常有效。虽然 Windows 11 设置界面变化较大,但该功能仍在控制面板中。主板自检也会占用开机时间,开启 Fast Boot 可缩短这一过程。很多软件安装后会默认开机自启,这会明显拖慢开机速度。禁用部分不必要的第三方服务,也能减少开机负担。适当优化引导设置,可以进一步提升开机速度。

2026-03-22 16:11:46 810

原创 C++笔记之lock_guard与作用域的关系

lock_guard。

2026-03-11 23:33:26 105

原创 git笔记之修改本地未推送的历史Commit信息、历史Commit的代码内容、一个分支的多个Commit Cherry-pick到另一个分支并保留提交历史

只修改 commit message,不影响代码内容,但从被修改的那个 commit 开始,后续所有 commit 的 hash 都会发生变化,这就是为什么已经 push 过的情况下需要 force push。当需要把一个分支上的多个 commit 搬到另一个分支,同时在目标分支上保留每个 commit 的独立历史时,可以使用。当本地有多个尚未 push 的 commit,需要修改其中某一个历史 commit 的提交信息时,可以使用。会让 Git 暂停在目标 commit,给完全的操作自由度,修改完。

2026-03-07 22:43:27 481

原创 git笔记之清理本地存在但远程不存在的分支

【代码】git笔记之清理本地存在但远程不存在的分支。

2026-01-22 23:16:47 277

原创 git笔记之默认使用vim以及修改最后一次的commit内容或倒数第二次的commit提交信息到远程

将目标提交前的pick改为reword-> 保存退出。在弹出的新窗口中修改文字 -> 保存退出。

2026-01-16 23:47:04 963

原创 Python笔记之在指定目录递归查找Python、CPP和Markdown源文件并将GBK、GB2312、GB18030编码的文件备份后转换为UTF-8的批量编码转换脚本

【代码】Python笔记之在指定目录递归查找Python、CPP和Markdown源文件并将GBK、GB2312、GB18030编码的文件备份后转换为UTF-8的批量编码转换脚本。

2026-01-09 18:30:57 379

原创 qt-C++笔记之自定义绘制:QWidget中的paintEvent 与 QGraphicsItem中的paint

QWidget的paintEvent用于传统 UI 部件的像素级绘制,适合简单控件自定义;的paint用于 Graphics View 框架中的图形项,适合复杂场景、动画和交互。两者均依赖QPainter进行绘制,但上下文、参数和优化不同。以下从QWidget开始,逐步扩展到 Graphics View。是 Graphics View 框架的基础元素,用于中的可视对象。自定义绘制通过重写paint()实现,与paintEvent不同,无事件参数。这是一个虚函数(virtual),在QWidget。

2025-09-27 19:11:54 1151

原创 Python笔记之Python中的`@`装饰器总结笔记

参考笔记1.Python笔记之getattr和hasattr用法详解2.Python笔记之Python中的装饰器总结笔记装饰器作用范围特点自定义函数装饰器普通函数/方法在调用前后插入额外逻辑@propertyPython 类属性让方法像属性一样访问,可加 setter/deleter 受控管理Qt (QObject 子类) 属性与 Qt 元对象系统集成,支持QML 绑定 / 信号通知。

2025-09-27 16:35:59 835

原创 JavaScript笔记之JS 和 HTML5 的关系

一个完整的程序很少只用 HTML5——除非是纯静态页面(如一个简单的博客文章)。但如果你想添加任何动态功能(如按钮点击后更新内容、表单验证、动画),就必须用 JS。:在现代前端开发中,HTML5 和 JS 几乎总是结合使用的,尤其是如果你在构建一个“程序”(如 web app、游戏或交互页面)。这里,JS 监听按钮点击并弹出警报。这只是显示文本,没交互。

2025-09-07 19:32:51 894

原创 C++笔记之同步信号量、互斥信号量与PV操作再探(含软考题目)

信号量(Semaphore)是一种用于进程同步和互斥的机制,由荷兰计算机科学家Edsger Dijkstra引入。它是一个非负整数变量,用于控制对共享资源的访问。该变量的值(value)本质上是一个计数器,代表可用资源的数量或剩余的“许可”槽位,而不是直接代表进程的数量。例如,如果初始值为5,就意味着最多允许5个进程同时访问该资源,但当前值表示剩余可用槽位。初始值:通常表示系统允许同时访问共享资源的进程(或线程)最大数量。当前值:在运行过程中,随着进程的操作而变化:值 > 0:表示有可用资源。

2025-09-07 13:58:14 289

原创 C++笔记之软件设计原则总结

核心思想:系统中每一个知识点或逻辑片段都应该有单一、权威的表示形式。如果相同的代码或逻辑在多个地方重复出现,就应该通过抽象、函数化或模块化等方式进行重构,使其只出现一次。适用范围:不仅仅限于代码,还包括文档、数据库模式、测试用例等所有软件开发元素。重复会导致“多重维护”问题:修改一处时,需要同步更新所有重复处,容易引入bug。

2025-09-06 17:43:21 325

原创 qt-C++笔记之QtDesigner-Creator按钮图标与样式

整理:如何用.qrc管理资源、在 Designer/Creator 中为设置图标(资源或系统主题),以及用样式表调整文字样式。涵盖 C++/Qt 与 PySide/PyQt;Linux 桌面优先,其他平台请注意回退策略。

2025-09-02 06:24:26 1227

原创 Python笔记之`getattr`和`hasattr`用法详解

方法作用返回值不存在时行为getattr获取属性值属性值/默认值抛 AttributeError/返回默认hasattr判断属性是否存在True/False返回 False。

2025-08-11 22:39:07 595

原创 Python笔记之跨文件实例化、跨文件调用、导入库

对象类型定义示例导入方式使用方式完整代码示例适用场景类需要创建多个实例避免命名冲突函数频繁调用明确来源变量x = 10print(x)直接访问保持命名空间预实例化对象共享全局实例明确对象来源类方法工厂方法静态方法工具方法包中的类x = X()包结构项目包的公开接口x = X()包的便捷访问原则说明示例明确优于简洁清楚表达导入来源而非一次性导入在文件顶部集中导入所有import语句放在文件开头避免深层导入减少包的嵌套层次使用__all__控制包的公开接口文档化依赖明确说明外部依赖。

2025-07-23 23:26:10 1047

原创 PySide笔记之信号连接信号

在(以及 Qt 的其他绑定,如 PyQt)中,。也就是说,可以把一个信号的发射,作为另一个信号的触发条件。。

2025-07-17 23:15:23 611

原创 qt-C++笔记之布局管理`space` 和 `margin`的区别

code review!注意:如果需要单独控制某些控件的间距,可以使用 或 方法插入固定间距或弹性空间。示例:2.Margin(边距)定义: 指的是布局与容器边界(或父控件边界)之间的距离。它控制布局内容的整体外边距。适用场景:用于设置布局内容与容器边缘的间隙,常用于美化界面或避免控件过于贴近窗口边界。设置方法:在 Qt 5 中,使用 设置布局的左、上、右、下边距。在 Qt 6 中, 仍然是主要方法,但 Qt 6 更强调现代化的布局管理。示例:统一设置边距:

2025-07-09 23:35:16 1335

原创 qt-C++笔记之setCentralWidget的使用

中央控件是主窗口中占据主要区域的控件,通常用于显示应用程序的核心内容,例如编辑器、浏览器、图像显示区域等。如果你需要更复杂的界面,可以将一个带有布局的。类的一个成员函数,用于设置主窗口的。以下是一个简单的示例,展示如何使用。在 Qt 的 C++ 开发中,在这个例子中,中央控件是一个。

2025-07-08 23:55:09 1523

原创 C++笔记之使用bitset对uint32_t类型变量对位状态判断

include <cstdint> // 需要包含此头文件// 32位无符号整数头文件:使用<cstdint>获得固定大小整数类型跨平台一致性:32 位大小在所有平台上保持一致数值表示:支持十进制、十六进制、二进制字面量位操作基础:可直接进行位运算,是 bitset 的底层基础。

2025-07-08 23:28:39 267

原创 qt-C++语法笔记之Stretch与Spacer的关系分析

Stretch是代码中控制布局比例的工具,适合动态、精确的布局管理。是 Qt Designer 中的可视化工具,适合快速设计和直观调整。两者在功能上可以互换(通过或sizePolicy实现),但使用场景不同:代码中用stretch,设计器中用 spacer。结合使用可以提高开发效率和布局灵活性。

2025-07-08 23:13:42 1307

原创 C++笔记之开关控制的仿真与实际数据处理优雅设计

本文深入探讨一种优雅的软件设计模式:通过开关控制实现仿真与实际数据处理的无缝切换。这种设计模式展示了如何在单一函数中优雅地处理两种不同的执行路径,同时保持代码的简洁性和可维护性。这个看似简单的代码示例,实际上蕴含了丰富的软件设计智慧。通过巧妙的递归控制和状态管理,实现了仿真与实际处理的优雅切换。这种设计模式不仅代码简洁,而且具有良好的扩展性和维护性,是值得在实际项目中借鉴的优秀实践。这种设计模式特别适合于需要在测试环境和生产环境之间切换的场景,通过简单而强大的开关控制,实现了复杂行为的优雅切换。

2025-07-07 23:00:01 240

原创 qt-C++笔记之QSplitter

头文件继承自QFrame(因此也间接继承自QWidget功能将窗口分割成多个子区域,每个区域可以包含一个QWidget(如QTextEditQTreeView等)用户可以通过拖动分割条调整子控件的大小支持水平(Horizontal)或垂直(Vertical)分割。

2025-07-07 22:37:53 1812

原创 C++笔记之&和&&的区别

运算符主要用途上下文示例按位与、引用、取地址位运算、变量声明、指针a & bint& ref&x&&逻辑与、右值引用条件判断、移动语义a && b。

2025-07-07 22:26:34 428

原创 Linux笔记之Ubuntu22.04安装中文输入法教程

【代码】Linux笔记之Ubuntu22.04安装 fcitx5 输入法。

2025-06-12 22:49:28 4462

原创 Windows笔记之Win11让非焦点窗口程序也能获得流畅性能的方法

遇到的问题主要是Windows 11的智能调度策略:当程序窗口失去焦点时,系统会自动将其降级为"后台任务",从而分配较少的系统资源(特别是在Intel 12代+处理器上会优先使用E-cores)。希望在Windows 11中,当鼠标悬停在非焦点窗口(如Qt程序)时,该程序也能保持流畅的渲染性能,而不是因为失去焦点而降低性能。这样能确保Qt程序在UE游戏运行时仍能保持流畅的渲染性能,同时不会显著影响UE游戏的性能表现。将GPU调度工作从CPU转移到GPU专用处理器,减少调度开销,提高后台程序的GPU性能。

2025-06-11 22:20:38 2267

原创 三维图形、地理空间、激光点云渲染技术术语解析笔记

Cesium是一款Web三维地球引擎,“Cesium OSM Buildings”是其基于OpenStreetMap数据的全球建筑物3D渲染插件。它能在真实地理位置上显示大量建筑的3D模型,常用于地理信息系统(GIS)可视化。

2025-06-08 15:27:38 1088

原创 虚幻引擎5-Unreal Engine笔记之SET节点的输出引脚获取设置后的最新变量值

只是当主语是第三人称单数(比如 he、she、it 或单个人/物)时使用的动词形式。获取变量的值,可以用来代替单独的 Get 节点。是动词,意思是“检索、获取、取回”。

2025-06-07 23:02:18 826

原创 虚幻引擎5-Unreal Engine笔记之摄像头camera

定义:在 UE5 中,摄像头是一个用于定义视角和渲染画面的工具,可以模拟真实世界中的摄像机效果,用于游戏视角控制、过场动画或电影化渲染。作用控制玩家或观众的视角(例如第一人称、第三人称)。制作电影化镜头效果(如景深、变焦)。在关卡中捕获特定画面或动画。类型是否独立存在主要特点典型用途组件(如 UCameraComponent)否,依附于 Actor模块化,动态控制,需附加到 Actor游戏中动态视角(如玩家角色)类(如 ACameraActor)是,独立 Actor。

2025-05-20 23:02:51 3042 1

原创 虚幻引擎5-Unreal Engine笔记之什么时候新建GameMode,什么时候新建关卡?

新建 GameMode 蓝图:当需要定义游戏核心规则、全局逻辑或跨关卡复用的机制时,右键内容浏览器选择"Blueprint Class",基类选或GameMode。新建关卡:当需要创建新的游戏场景、地图或测试环境时,通过内容浏览器或"File > New Level"创建。编辑关卡蓝图:当需要为特定关卡添加本地逻辑或对象交互时,通过关卡编辑器打开并编辑关卡蓝图。先新建关卡,再新建 GameMode 蓝图:适用于关卡驱动的开发流程,或为特定关卡定制 GameMode 时。

2025-05-19 22:53:24 1866

原创 虚幻引擎5-Unreal Engine笔记之`GameMode`、`关卡(Level)` 和 `关卡蓝图(Level Blueprint)`的关系

GameMode是全局的游戏规则管理者,负责游戏的核心逻辑和状态,通常跨关卡共享(除非特定关卡覆盖默认GameMode关卡(Level)是游戏世界的物理表现,提供了场景和对象,本身不包含逻辑,但可以通过指定一个GameMode。关卡蓝图(Level Blueprint)是关卡的专用脚本,负责处理关卡特有的局部逻辑,可以与GameMode交互来获取全局数据或触发全局事件。

2025-05-18 22:53:14 1899 1

原创 虚幻引擎5-Unreal Engine笔记之Default Pawn与GamMode、Camera的关系

只要想要更换玩家默认控制的 Pawn,应该新建一个 GameMode 并设置其 Default Pawn Class,再在关卡里指定 GameMode Override。Default Pawn:GameMode 中设置的 Default Pawn Class,决定了游戏开始时玩家默认拥有和控制的 Pawn 类型。GameMode Override = 自定义GameMode,就用那个 GameMode 的 Default Pawn。Pawn:Pawn 是游戏世界中的一个可以被玩家或 AI 控制的实体。

2025-05-18 22:22:14 1982

原创 虚幻引擎5-Unreal Engine笔记之Pawn与胶囊体的关系

Pawn是UE中的一种Actor,代表可以被玩家或AI控制的角色或实体。Pawn本身并不包含具体的外形或碰撞体,需要通过组件(如Mesh、碰撞体等)来实现。胶囊体(CapsuleComponent)是UE常用的碰撞组件,形状像药丸(圆柱体两头带半球)。主要用于角色的物理碰撞检测,因为其形状适合大多数站立的人物、动物等。Pawn是可被控制的实体,胶囊体是常见的碰撞体组件。胶囊体一般作为Pawn/Character的根组件,负责物理碰撞和触发检测。

2025-05-18 21:58:30 1457

原创 虚幻引擎5-Unreal Engine笔记之摄像机与场景捕获相关概念的解析

|(主视角) (场景采集器,用于Render Target)| |(主摄像机)(采集场景到贴图)名称类型主要用途典型场景组件定义摄像机行为,直接渲染到屏幕玩家视角、动态摄像机Actor关卡中静态或剧情用摄像机过场动画、特定镜头概念/基类组件捕获场景内容到渲染目标反射、小地图、监控效果组件/Actor捕获 2D 场景视图到 Render TargetUI、材质纹理、画中画效果。

2025-05-14 23:32:57 3334

《QML和Qt Quick快速入门》书籍源码.zip

《QML和Qt Quick快速入门》源码.zip

2024-07-26

空空如也

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

TA关注的人

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