- 博客(752)
- 资源 (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
294
原创 qt-C++笔记之布局管理`space` 和 `margin`的区别
code review!注意:如果需要单独控制某些控件的间距,可以使用 或 方法插入固定间距或弹性空间。示例:2.Margin(边距)定义: 指的是布局与容器边界(或父控件边界)之间的距离。它控制布局内容的整体外边距。适用场景:用于设置布局内容与容器边缘的间隙,常用于美化界面或避免控件过于贴近窗口边界。设置方法:在 Qt 5 中,使用 设置布局的左、上、右、下边距。在 Qt 6 中, 仍然是主要方法,但 Qt 6 更强调现代化的布局管理。示例:统一设置边距:
2025-07-09 23:35:16
673
原创 qt-C++笔记之setCentralWidget的使用
中央控件是主窗口中占据主要区域的控件,通常用于显示应用程序的核心内容,例如编辑器、浏览器、图像显示区域等。如果你需要更复杂的界面,可以将一个带有布局的。类的一个成员函数,用于设置主窗口的。以下是一个简单的示例,展示如何使用。在 Qt 的 C++ 开发中,在这个例子中,中央控件是一个。
2025-07-08 23:55:09
695
原创 C++笔记之使用bitset对uint32_t类型变量对位状态判断
include <cstdint> // 需要包含此头文件// 32位无符号整数头文件:使用<cstdint>获得固定大小整数类型跨平台一致性:32 位大小在所有平台上保持一致数值表示:支持十进制、十六进制、二进制字面量位操作基础:可直接进行位运算,是 bitset 的底层基础。
2025-07-08 23:28:39
45
原创 qt-C++语法笔记之Stretch与Spacer的关系分析
Stretch是代码中控制布局比例的工具,适合动态、精确的布局管理。是 Qt Designer 中的可视化工具,适合快速设计和直观调整。两者在功能上可以互换(通过或sizePolicy实现),但使用场景不同:代码中用stretch,设计器中用 spacer。结合使用可以提高开发效率和布局灵活性。
2025-07-08 23:13:42
864
原创 C++笔记之开关控制的仿真与实际数据处理优雅设计
本文深入探讨一种优雅的软件设计模式:通过开关控制实现仿真与实际数据处理的无缝切换。这种设计模式展示了如何在单一函数中优雅地处理两种不同的执行路径,同时保持代码的简洁性和可维护性。这个看似简单的代码示例,实际上蕴含了丰富的软件设计智慧。通过巧妙的递归控制和状态管理,实现了仿真与实际处理的优雅切换。这种设计模式不仅代码简洁,而且具有良好的扩展性和维护性,是值得在实际项目中借鉴的优秀实践。这种设计模式特别适合于需要在测试环境和生产环境之间切换的场景,通过简单而强大的开关控制,实现了复杂行为的优雅切换。
2025-07-07 23:00:01
59
原创 qt-C++笔记之QSplitter
头文件继承自QFrame(因此也间接继承自QWidget功能将窗口分割成多个子区域,每个区域可以包含一个QWidget(如QTextEditQTreeView等)用户可以通过拖动分割条调整子控件的大小支持水平(Horizontal)或垂直(Vertical)分割。
2025-07-07 22:37:53
796
原创 C++笔记之&和&&的区别
运算符主要用途上下文示例按位与、引用、取地址位运算、变量声明、指针a & bint& ref&x&&逻辑与、右值引用条件判断、移动语义a && b。
2025-07-07 22:26:34
115
原创 Windows笔记之Win11让非焦点窗口程序也能获得流畅性能的方法
遇到的问题主要是Windows 11的智能调度策略:当程序窗口失去焦点时,系统会自动将其降级为"后台任务",从而分配较少的系统资源(特别是在Intel 12代+处理器上会优先使用E-cores)。希望在Windows 11中,当鼠标悬停在非焦点窗口(如Qt程序)时,该程序也能保持流畅的渲染性能,而不是因为失去焦点而降低性能。这样能确保Qt程序在UE游戏运行时仍能保持流畅的渲染性能,同时不会显著影响UE游戏的性能表现。将GPU调度工作从CPU转移到GPU专用处理器,减少调度开销,提高后台程序的GPU性能。
2025-06-11 22:20:38
895
原创 三维图形、地理空间、激光点云渲染技术术语解析笔记
Cesium是一款Web三维地球引擎,“Cesium OSM Buildings”是其基于OpenStreetMap数据的全球建筑物3D渲染插件。它能在真实地理位置上显示大量建筑的3D模型,常用于地理信息系统(GIS)可视化。
2025-06-08 15:27:38
851
原创 虚幻引擎5-Unreal Engine笔记之SET节点的输出引脚获取设置后的最新变量值
只是当主语是第三人称单数(比如 he、she、it 或单个人/物)时使用的动词形式。获取变量的值,可以用来代替单独的 Get 节点。是动词,意思是“检索、获取、取回”。
2025-06-07 23:02:18
592
原创 虚幻引擎5-Unreal Engine笔记之摄像头camera
定义:在 UE5 中,摄像头是一个用于定义视角和渲染画面的工具,可以模拟真实世界中的摄像机效果,用于游戏视角控制、过场动画或电影化渲染。作用控制玩家或观众的视角(例如第一人称、第三人称)。制作电影化镜头效果(如景深、变焦)。在关卡中捕获特定画面或动画。类型是否独立存在主要特点典型用途组件(如 UCameraComponent)否,依附于 Actor模块化,动态控制,需附加到 Actor游戏中动态视角(如玩家角色)类(如 ACameraActor)是,独立 Actor。
2025-05-20 23:02:51
1505
1
原创 虚幻引擎5-Unreal Engine笔记之什么时候新建GameMode,什么时候新建关卡?
新建 GameMode 蓝图:当需要定义游戏核心规则、全局逻辑或跨关卡复用的机制时,右键内容浏览器选择"Blueprint Class",基类选或GameMode。新建关卡:当需要创建新的游戏场景、地图或测试环境时,通过内容浏览器或"File > New Level"创建。编辑关卡蓝图:当需要为特定关卡添加本地逻辑或对象交互时,通过关卡编辑器打开并编辑关卡蓝图。先新建关卡,再新建 GameMode 蓝图:适用于关卡驱动的开发流程,或为特定关卡定制 GameMode 时。
2025-05-19 22:53:24
1528
原创 虚幻引擎5-Unreal Engine笔记之`GameMode`、`关卡(Level)` 和 `关卡蓝图(Level Blueprint)`的关系
GameMode是全局的游戏规则管理者,负责游戏的核心逻辑和状态,通常跨关卡共享(除非特定关卡覆盖默认GameMode关卡(Level)是游戏世界的物理表现,提供了场景和对象,本身不包含逻辑,但可以通过指定一个GameMode。关卡蓝图(Level Blueprint)是关卡的专用脚本,负责处理关卡特有的局部逻辑,可以与GameMode交互来获取全局数据或触发全局事件。
2025-05-18 22:53:14
1346
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
1123
原创 虚幻引擎5-Unreal Engine笔记之Pawn与胶囊体的关系
Pawn是UE中的一种Actor,代表可以被玩家或AI控制的角色或实体。Pawn本身并不包含具体的外形或碰撞体,需要通过组件(如Mesh、碰撞体等)来实现。胶囊体(CapsuleComponent)是UE常用的碰撞组件,形状像药丸(圆柱体两头带半球)。主要用于角色的物理碰撞检测,因为其形状适合大多数站立的人物、动物等。Pawn是可被控制的实体,胶囊体是常见的碰撞体组件。胶囊体一般作为Pawn/Character的根组件,负责物理碰撞和触发检测。
2025-05-18 21:58:30
843
原创 虚幻引擎5-Unreal Engine笔记之摄像机与场景捕获相关概念的解析
|(主视角) (场景采集器,用于Render Target)| |(主摄像机)(采集场景到贴图)名称类型主要用途典型场景组件定义摄像机行为,直接渲染到屏幕玩家视角、动态摄像机Actor关卡中静态或剧情用摄像机过场动画、特定镜头概念/基类组件捕获场景内容到渲染目标反射、小地图、监控效果组件/Actor捕获 2D 场景视图到 Render TargetUI、材质纹理、画中画效果。
2025-05-14 23:32:57
1840
原创 虚幻引擎5-Unreal Engine笔记之Qt与UE中的Meta和Property
Qt meta(元对象系统)UE5 meta(元数据参数)目的运行时类型、信号槽、反射编辑器、序列化、蓝图交互等形式Q_OBJECT宏 + MOC 生成的 meta 信息meta=(...),附加在 UCLASS/UPROPERTY 上实现C++ 预处理器和代码生成宏展开+编译器+UE反射系统用途信号与槽、属性、QML、动态调用编辑器属性、蓝图、序列化、显示、限制等UE5 的 meta 更接近 Map 的概念,实际上底层是用 Map 或类似的结构实现的。
2025-05-14 20:28:54
1069
原创 C++笔记之编程领域的纯函数一定要有返回值吗?
纯函数(Pure Function)在编程中的定义有两个主要特点:1.相同的输入一定有相同的输出(确定性)。2.没有副作用(不修改外部状态、不读写全局变量、不进行 IO 操作等)。纯函数不强制必须有返回值,但如果没有返回值,也不能有副作用,这样的函数除了“什么都不做”之外就没有实际意义。实际开发中,纯函数一般都有返回值。
2025-05-14 20:11:21
51
原创 虚幻引擎5-Unreal Engine笔记之UE编辑器退出时的保存弹框
操作保存内容典型用途退出弹窗所有未保存的资源(关卡+各种Asset)离开前统一提醒,防止遗失改动仅当前关卡只关心当前场景时Save All所有已修改资源推荐习惯性使用,确保不丢失任何改动退出时的保存弹窗和“Save All”效果类似,都是为了避免忘记保存改动,防止数据丢失。关卡只是众多Asset中的一种,编辑器会把所有未保存的内容都列出来,关卡(Level)也会显示在这里。“Save All”等价于手动提前保存所有内容,退出时就不会再弹出保存窗口。
2025-05-11 23:09:52
733
原创 虚幻引擎5-Unreal Engine笔记之常用核心类的继承关系
组件是类的实例,是Actor的“零部件”。组件的类型由组件的类决定。Actor是容器,负责管理生命周期、网络同步、交互等。是可以被附加和定位的组件,决定Actor在世界中的空间信息。Actor必须有一个SceneComponent作为RootComponent,才能具有位置和旋转。内容浏览器中的Class资产(常见类型)- Blueprint Class(蓝图类)- Data Asset(数据资产)- Blueprint Interface(蓝图接口)
2025-05-11 20:11:50
899
原创 C++笔记之反射、Qt中的反射系统、虚幻引擎中的反射系统
反射就是让程序在运行的时候,通过字符串来访问对象的属性或方法,而不是在编译时就写死。比如:我们想通过"name"这个字符串,去获取或设置一个对象的name属性。Q_OBJECTpublic:private:虚幻引擎的反射是指运行时可以通过字符串等方式访问类、属性、函数等元数据,这使得蓝图、序列化、编辑器属性面板和网络同步等高级功能成为可能。反射是指通过字符串等描述在运行时访问对象的属性或方法**C++**没有内置反射,但可以通过映射和函数指针实现简单模拟Qt。
2025-05-05 19:48:17
342
原创 C++笔记之委托
委托delegation)是一种将任务或行为转交给另一个对象或函数处理的技术。把某些操作的实现“托付”给别人完成。经典的23种设计模式创建型(5种):单例、工厂方法、抽象工厂、建造者、原型结构型(7种):适配器、桥接、组合、装饰器、外观、享元、代理行为型(11种):责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者。
2025-05-05 16:15:54
322
原创 虚幻引擎5-Unreal Engine笔记之显卡环境设置使开发流畅
步骤二:配置虚拟内存。方式一:系统自动管理。方式二:手动指定大小。初始大小:32768。
2025-05-05 15:23:49
1575
原创 虚幻引擎5-Unreal Engine笔记之“将MyStudent变量设置为一个BP_Student的实例”这句话如何理解?
code review!这句话“想将 变量设置为一个 的实例”可以理解为:这种表述通常出现在面向对象编程场景中,特别是在 C++ 或基于 C++ 的框架(比如 Unreal Engine 中的蓝图类 Blueprint)里。在这段代码中: 是类。 是 的一个实例。2.动态分配实例如果需要动态分配一个类的实例,可以使用指针。例如:上面的代码中:当不再需要这个对象时,记得释放内存:3.在 Unreal Engine 的 Blueprint 上下文中在 Unreal Engine 中
2025-04-12 20:01:50
829
原创 C++笔记之父类引用是否可以访问到子类特有的属性?
父类引用无法直接访问子类特有的属性或方法。如果需要访问,可以通过将父类引用转换为子类指针,然后访问子类特有的成员。
2025-04-11 22:41:25
241
原创 ROS2笔记之ament_cmake类型功能包和ament_python类型功能包的区别
类型功能包适用于C++和C语言,使用CMake构建系统。类型功能包适用于Python语言,使用setuptools构建系统。
2025-04-01 05:19:48
501
原创 ROS2笔记之服务通信和基于参数的服务通信区别
服务通信用于同步的请求-响应交互,客户端发送请求,服务端处理后返回响应,适合需要即时反馈的操作。例如,触发一个动作、获取传感器结果等。参数通信用于配置和动态更新节点的内部状态,不存在请求-响应的交互。参数的更新通常通过外部工具(如)或者节点内部更新来完成,适合调节节点行为、控制阈值等场景。
2025-04-01 04:55:12
1102
原创 VMware笔记之windows的vmware17pro中的ubuntu22.04调整系统空间大小
这样,就成功调整了VMware中Ubuntu 22.04系统的空间大小。在VMware Workstation Pro主界面,右键点击虚拟机,选择"设置"。在VMware中调整Ubuntu 22.04虚拟机的系统空间大小是完全可行的。在硬件选项卡下,选择要扩展的硬盘,点击"扩展"。输入要增加的容量大小,点击"扩展"即可。右键点击根分区,选择"调整大小/移动"。会看到空间已经增加了,但是实际可用空间没变,需要继续调整分区。点击工具栏上的"应用所有操作"按钮,开始调整分区的过程。检查,可用空间已经增加了。
2025-03-29 01:00:47
497
原创 vscode使用Remote-SSH插件连接Linux远程服务器遇到问题:Could not establish connection to “xxx.xxx.xxx.xxx“:XHR faild解决
先检查windows的配置文件,一般是C:\User\username.ssh\config文件,正确内容类似。
2025-03-11 12:24:23
1166
原创 qt-C++笔记之ubuntu22.04源码安装Qt6.8.2
Ubuntu 18.04 上安装 glibc 2.28 支持 QT6:https://xujinzh.github.io/2024/01/05/ubuntu-18-04-install-glibc2-28/index.html。安装参考链接:https://www.ics.com/blog/how-build-qt-640-source-ubuntu-linux。完成以上步骤后,Qt Creator 就已关联了新安装的 Qt6 环境,可以正常编译和调试基于 Qt6 开发的应用程序。在打开的对话框中点击。
2025-03-04 23:53:42
1050
原创 qt-C++笔记之QToolButton和QPushButton的区别
【代码】qt-C++笔记之QToolButton和QPushButton的区别。
2025-03-02 23:33:57
502
原创 qt-C++笔记之Linux下Qt环境变量设置及与QtCreator的关系
如果没有将 Qt 的工具路径(如 /home/username/Qt/6.7.3/gcc_64/bin)添加到 PATH 中,终端将无法直接找到 Qt 工具(如 qmake、lupdate),除非它们安装在默认的系统路径中(通常不会发生)。如果没有设置 Qt 的库路径(如 /home/username/Qt/6.7.3/gcc_64/lib),运行依赖 Qt 的程序时,系统会在默认路径中查找库文件。/home/username/Qt/6.7.3/gcc_64/qml 是 QML 模块所在的目录。
2025-03-01 21:25:17
1352
原创 leetcode-442.数组中重复的数据
给你一个长度为 n 的整数数组 nums ,其中 nums 的所有整数都在范围 [1, n] 内,且每个整数出现 最多两次。请你找出所有出现 两次 的整数,并以数组形式返回。你必须设计并实现一个时间复杂度为 O(n) 且仅使用常量额外空间(不包括存储输出所需的空间)的算法解决此问题。442.数组中重复的数据。
2025-02-28 23:10:37
356
原创 qt-C++笔记之QtCreator新建项目即Create Project所提供模板的逐个尝试
code review!环境:ubuntu22.04 Qt6 6.7.3
2025-02-27 00:12:57
533
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人