- 博客(199)
- 收藏
- 关注
原创 static 修饰成员函数和成员变量 【C++】
如果必须访问 ,静态成员函数,传一个对象的参数过去 ,从而达到通过对象访问非静态成员。静态成员函数没有隐藏的this指针,不能访问任何非静态成员。访问static成员变量。
2025-11-27 20:47:33
312
原创 c# NuGet 包
打开 Visual Studio,点击顶部菜单 工具 → NuGet 包管理器 → 包管理器设置。项目配置了一个不存在的本地 NuGet 包源路径(D:\NuGet\NUGET),导致包还原失败。找到列表中路径为 D:\NuGet\NUGET 的包源,点击右侧的 删除 按钮将其移除。在弹出的窗口中选择 NuGet 包管理器 → 程序包源。解决方案 : 移除无效的本地包源。
2025-11-24 18:42:01
185
原创 python迭代器解包【python】
self.args的核心作用是将可迭代的参数集合“拆解”为独立的位置参数,确保函数能按预期接收每个参数。这在需要动态传递参数(比如参数数量不固定,通过元组/列表存储)的场景中非常有用,例如多线程中传递函数和其参数时(就像你之前的MyThread类)。
2025-10-18 21:51:42
359
原创 python super【python】
你代码中super的作用,最接近 C++ 中“子类构造函数在初始化列表中显式调用父类构造函数”的操作——本质都是“在子类初始化时,确保父类完成自己的初始化工作”,是面向对象中“继承与初始化”的核心机制。
2025-10-18 19:33:08
436
原创 python 字典 列表 类比c++【python】
联系:两者均基于哈希表实现,核心功能是高效的键值对存储与访问,平均时间复杂度均为 O (1),且都要求键可哈希。区别:Python 字典更注重易用性和动态特性(自动内存管理、插入有序、丰富的内置方法),而更强调类型严格性和底层可控性(固定类型、手动内存管理、迭代器机制)。如果熟悉,可以快速理解 Python 字典的核心逻辑;反之,字典的便捷特性(如默认值、动态视图)则是 Python 对哈希表容器的 “人性化优化”相似点:都是 “有序存储多个元素的容器”,支持索引访问和遍历,这是两者最直观的共性。
2025-10-18 15:16:48
906
原创 python,oop【python】
核心一致self和this都是为了在成员方法中定位“当前对象实例”,实现对实例成员的访问和区分。差异核心:Python 强制显式声明self作为方法参数(更直观,符合“显式优于隐式”的设计哲学),而 C++ 中this是隐式的(由编译器处理,更简洁)。理解这一点后,无论是从 Python 转向 C++ 还是反之,都能快速掌握面向对象中“当前实例”的访问逻辑。Python 中的__init__与 C++ 的构造函数作用相似但机制不同;Python 的析构函数是__del__,但使用时需注意其局限性。
2025-10-18 15:12:27
915
原创 pycharm 代码格式化 快捷键:Ctrl + Alt + L
Python 的缩进规则中,只有 “代码块内部”(如if/for/ 函数体等)才强制要求缩进,顶级语句和数据结构(字典、列表等)内部的换行缩进更多是为了代码美观和清晰。快捷键:Ctrl + Alt + L。pycharm 代码格式化。
2025-10-17 20:55:35
144
原创 Python 线程 类比c++【python】
重写run方法:目的是给线程 “分配任务”,定义线程要执行的具体逻辑。调用方式:通过start()启动线程,start()会自动在新线程中调用重写后的run方法(无需手动调用run。
2025-10-16 23:45:32
373
原创 opencv-python
OpenCV 的imread()默认用(先蓝通道、再绿通道、再红通道)三个:红通道(R)、绿通道(G)、蓝通道(B)每个通道的像素值范围是0-2550表示该颜色 “完全没有”(对应纸的 “透明”),255表示该颜色 “最浓”(对应纸的 “最饱和”OpenCV 的 BGR 顺序,直接输入(255, 0, 0),它会理解为 “蓝 = 255,绿 = 0,红 = 0”,最终显示成。
2025-10-07 08:46:50
846
原创 高并发日志项目中,C++IO的使用
利用 RAII(资源获取即初始化)机制,文件在对象构造时打开,,无论程序正常执行还是抛出异常,都能保证资源释放。
2025-10-04 11:25:03
190
原创 C++坑系列,C++ std::atomic 拷贝构造函数问题分析与解决方案
在实现高并发日志系统时,遇到了一个典型的C++ std::atomic 拷贝构造函数被删除核心思路:使用原子操作的load()方法安全地读取值// 默认构造函数// ✅ 自定义拷贝构造函数: total_logs(other.total_logs.load()), // 原子读取sampled_logs(other.sampled_logs.load()), // 原子读取dropped_logs(other.dropped_logs.load()), // 原子读取。
2025-10-03 16:14:31
301
原创 C++坑系列,const方法与mutex冲突原因以及解决方案
成员函数不能修改对象的任何成员变量,但。的锁定操作会修改mutex的内部状态。允许在const函数中修改特定成员变量。
2025-10-03 10:51:41
185
原创 异常与c++11中的noexcept【c++】
非内存资源(如文件句柄、互斥锁、数据库连接),可封装成 RAII 类,在析构函数中释放资源// RAII 类:封装文件句柄,析构时自动关闭private:FILE* file;public:// 构造时打开文件(获取资源)if (!file) {throw std::runtime_error("文件打开失败");// 析构时关闭文件(释放资源,异常安全)~FileGuard() noexcept { // 析构函数不抛异常// 确保文件被关闭// 禁用拷贝(避免资源被多次释放)
2025-10-02 15:17:51
315
原创 ModelView【QT】
Qt 的设计,核心思想是:将数据存储(Model)、用户交互(View)、数据转换(Proxy)拆分为独立组件,通过标准化接口协作[数据源(SQLite 数据库)] → [源模型(QSqlTableModel)] → [代理模型(QSortFilterProxyModel)] → [视图(QTableView)]:它是 Qt 提供的 “数据模型”,(比如从数据库读数据、向数据库写数据、同步修改等),为上层提供统一的数据访问接口(相当于 “数据管家”,屏蔽了底层数据库的细节)QTableView。
2025-09-20 20:41:47
569
原创 qt,UI界面卡顿常见原因,以及解决方案
例如: 点击按钮 → 产生 QMouseEvent(鼠标事件),QMouseEvent事件会被自动加入 Qt 主线程的 “事件队列” ,通过QApplication::exec() 启动的事件循环会不断从队列中取出事件,然后通过 Qt 的事件分发器(event dispatcher) 将事件传递给目标对象(这里是 QPushButton)Qt 中,所有 UI 相关的操作(如按钮点击、窗口绘制、标签文字更新等)都必须在主线程(也叫 GUI 线程) 中执行。主线程只做 UI,子线程做耗时操作,信号槽来通信。
2025-09-19 11:10:22
601
4
原创 CMake+visual studio 2022 +qt6 , 从Linux平台移植到windows下平台开发
官网下载Cmake-guiCMake-gui ,如何使用 :https://www.bilibili.com/video/BV16t4y1X7P1/?spm_id_from=333.337.search-card.all.click&vd_source=f2338b541732d856af7153e2480f8e8d去qt官网下载qt6https://www.qt.io/download-qt-installer-oss用vs2022 打开cmake项目https://www.bilibili.com
2025-09-18 20:07:04
379
原创 git, 把「本地分支」与「远端 develop 分支」建立起跟踪关系(tracking)。
把「本地分支」与「远端 develop 分支」建立起跟踪关系(tracking)
2025-09-16 11:25:45
103
原创 git 查看 “已提交到本地仓库但未推送到远程” 的内容
输出:本地有而远程没有的提交记录(每个提交一行,显示哈希值和提交信息),这些提交包含的文件就是需要推送到远程的内容。查看 “已提交到本地仓库但未推送到远程” 的内容(本地仓库 → 远程仓库)
2025-09-14 15:57:53
129
原创 远程的 develop 比你本地的 develop 更新,Git 拒绝直接覆盖
远程的 develop 比你本地的 develop 更新,Git 拒绝直接覆盖
2025-09-03 22:26:44
279
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅