自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 收藏
  • 关注

原创 观察者模式

本文展示了观察者模式的C++实现,并对比了原始指针和智能指针两种实现方式。原始版本使用手动内存管理,存在内存泄漏风险;改进版本采用shared_ptr智能指针,通过make_shared创建对象,自动管理生命周期,消除了显式delete操作。两种实现都包含ObserverBase抽象基类、ObservedSubjectBase被观察者基类,以及具体观察者类XiaoZhang和XiaoLiu。智能指针版本更安全简洁,体现了现代C++的资源管理理念。

2026-05-19 22:48:10 34

原创 Static成员函数

本文总结了C++中static成员函数声明与实现的正确写法及常见错误。核心规则是:声明时必须加static,实现时不能加static。文章通过头文件和源文件的代码示例展示了标准写法,并解释了错误写法的编译报错原因。背后的设计逻辑是static在声明时标记函数归属类本身,而实现时通过类名限定已明确归属,再加static会造成重复标记。文章还补充了静态函数的访问权限、调用方式等注意事项,最后用口诀"声明带static,实现丢static,类名限定不能少"帮助记忆。理解编译器识别逻辑可避免死记

2026-05-12 10:10:21 361

原创 内存泄漏记录下,加深下映像

2026-05-08 10:30:57 37

原创 内存0xcdcdcdcd是咋会事儿?

【摘要】在C++开发中,Debug模式下常见的内存标记值0xcdcdcdcd是Visual Studio对未初始化堆内存的特殊标记。该值出现在四种典型场景中:1)new分配内存后未初始化;2)类对象未调用构造函数;3)指针解引用未初始化内存;4)类成员指针未初始化。这会导致逻辑错误或程序崩溃,尤其在Release模式下问题更隐蔽。解决方案包括:立即初始化new分配的内存、使用括号触发类对象初始化、在构造函数中初始化所有成员变量,以及启用内存检测工具。理解这些内存标记能帮助开发者快速定位和解决内存问题,建议养

2026-04-26 20:05:56 374

原创 每日小问题:枚举值超标128导致的字符串无法正确转化

遇到一个问题,记录下,主要是枚举超标了该如何解决!

2026-03-25 15:14:03 41

原创 低频(静电场、静磁场、电流场、电磁场、电路模块)

静止电荷或恒定电压激励产生的不随时间变化的电场。

2026-03-20 10:13:36 284

原创 boost创建信号槽

Boost创建信号,连接信号的一些个实操

2026-03-10 14:55:58 49

原创 Pimpl 设计模式(指针指向实现)

再次熟悉下

2026-03-09 09:11:47 297

原创 C++——基础

值传递:在函数调用时,会触发一次参数的拷贝动作,所以对参数的修改不会影响原始的值。如果是较大的对象,复制整个对象,效率较低。引用传递:函数调用时,函数接收的就是参数的引用,不会触发参数的拷贝动作,效率较高,但对参数的修改会直接作用于原始的值。看两种传递方式的示例代码:值传递引用传递1.3 深入理解1.3.1什么场景下使用引用传递?避免不必要的数据拷贝:对于比较大的对象参数(比如std:vector、std:string、std:list),因为拷贝会导致大量的内存和时间开销。而引用传递可以避免这

2025-09-30 22:34:55 823

原创 某企业牛笔试题——写对了2个半

一、栈配对符号配对给定一个包含括号(()、[]、{})和其他字符(如数字)的字符串,判断其中的括号是否有效。有效括号需满足以下条件:每个左括号必须有对应的同类型右括号闭合。左括号必须以正确的顺序闭合(例如 ([)] 是无效的,而 ()[]{} 是有效的)。其他字符(如数字)不影响判断,可直接忽略。

2025-09-29 16:50:46 444

原创 深圳云泊面试——面试

被拷打了,纯Qt的面试!我的个亲娘欸!要求Qt高级特别熟才行,我只是一个Qt入门者!

2025-09-11 12:40:57 1420 2

原创 博维智航(彭州)——面试

面试的时候一定不要提自己不是很擅长的地方,不然就地人家追着问,直接原地爆炸!

2025-09-02 20:10:40 955

原创 VTK入门

优点:开源免费、兼容性极强、支持复杂数据结构、跨平台通用;缺点:ASCII 格式文件体积大,对于超大规模数据(如亿级网格),读写效率不如专用二进制格式(如 HDF5)。总之,VTK 格式凭借其通用性和灵活性,成为科学计算可视化领域的事实标准之一,尤其在 CFD/CAE 后处理中,是连接不同软件工具的重要桥梁。优点:开源免费、功能全面、算法成熟、跨平台、支持多语言,适合从简单可视化到复杂定制化工具的开发。缺点。

2025-08-24 00:39:05 1587

原创 C++——工具篇

涉及C++开发的工具!

2025-08-18 16:00:43 943

原创 剑指offer第2版——面试题6:从尾到头打印链表

从尾到头打印链表!两种方式可用,栈或者递归!

2025-08-17 17:16:50 908

原创 剑指offer第2版——面试题5:替换空格

第五题:替换空格

2025-08-17 13:08:49 909

原创 C++——分布式

分布式” 是计算机科学和软件工程中的一个核心概念,指的是将一个大型系统或任务拆解为多个部分,通过多个独立的计算节点(如服务器、计算机)协同工作来完成,节点之间通过网络进行通信和协调。

2025-08-15 22:37:11 1168

原创 剑指offer第2版——面试题4:二维数组中的查找

第四题:二维数值中的查找

2025-08-15 12:51:58 817

原创 C++——高性能组件

内存池、线程池、连接池子

2025-08-12 22:47:31 782

原创 剑指offer第2版——面试题3:数组中重复的数字

哈希表法更通用,实现简单,适合大多数场景;二分查找法空间更优,但依赖题目特定条件(数字范围 0~n-1),是对 “利用隐含条件” 考点的延伸。两种方法均满足 “不改变原数组” 的要求,核心是在时间与空间复杂度之间做权衡。

2025-08-12 18:03:27 1061

原创 C++——计算机网络

计算机网络相关知识点

2025-08-12 11:41:35 886

原创 剑指offer第2版——面试题2:实现单例

细细分析下这个题!

2025-08-08 13:38:57 945

原创 剑指offer第2版——面试题1:赋值运算符函数

异常安全性原则(Exception Safety Guarantees)是 C++ 中处理异常的重要设计准则,它定义了函数在发生异常时应保证的程序状态,确保即使出现异常(如内存分配失败、操作无效等),程序也不会出现资源泄漏、数据损坏或对象处于无效状态等问题。基本保证(Basic Guarantee):核心要求:当异常发生后,程序能保持有效状态(所有对象的不变式仍成立,资源未泄漏),但对象的具体状态可能不可预测(不一定是异常发生前的状态)。示例。

2025-08-07 22:01:59 1032

原创 C++——系统编程(Posix API)

POSIX API 的全称是 “Portable Operating System Interface for Unix”(可移植操作系统接口)。 它是由 IEEE 制定的一系列标准,定义了类 Unix 操作系统应提供的接口规范,包括系统调用、库函数等,目的是提高不同 Unix 类系统之间的兼容性和应用程序的可移植性。 遵循 POSIX 标准的系统(如 Linux、macOS、FreeBSD 等)提供的 API 具有高度一致性,使得遵循该标准编写的程序可以在这些系统上无需大量修改就能运行。C++ 系统编程中

2025-08-07 17:28:23 1201

原创 C++——并发编程

线程有且只有两种状态:结合状态和分离状态。在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。在默认情况下线程是可结合的(joinable),这种情况下,原有的线程等待创建的线程结束。只有当pthread_join()函数返回时,创建的线程才算终止,才能释放自己占用的系统资源。当

2025-08-06 20:17:33 1377

原创 Pimpl惯用法

将类的私有成员(数据和方法)从头文件移到实现文件中,用户只能看到接口,无法知晓具体实现。:头文件不再包含私有成员的定义,当实现细节变化时,依赖该类的代码无需重新编译。:类的二进制接口(ABI)更加稳定,即使内部实现变化,只要公共接口不变,链接时就不会出现问题。

2025-08-04 21:03:27 361

原创 C++——设计模式

面向对象的优点和缺点面向对象的三大特点设计模式的六大原则单例模式(线程安全)工厂方法模式适配器模式代理模式观察者模式策略模式备忘录模式模板模式状态模式责任链模式装饰模式命令模式

2025-08-04 20:08:03 1200

原创 C++——STL

STL相关八股文,整理不易!欢迎一键三连!本文参考了很多材料bibi上的千峰提供的文档以及小程序面试鸭里头的文档!

2025-08-01 09:18:45 880

原创 程序员工作年限和跳槽经历参考表

相传于一个资深HR!供参考!

2025-07-30 10:48:58 246

原创 问卷星——如何粘贴代码

问卷星笔试?黑暗之际!!!kill me!!

2025-07-25 13:34:04 333

原创 国智中心(华科)——一面笔试题

华中科技大学国智中心面试现场撸代码的题!

2025-07-23 18:14:50 724

原创 某外企笔试总结——纯C语言

笔试题,进门做一套笔试题!

2025-07-18 12:40:49 1505 1

原创 面向对象的五大原则

通过遵循这些原则,开发者可以构建更加灵活、可维护的软件系统,使代码更易于理解和使用。

2025-03-11 09:04:51 560

原创 Qt镜像地址

参考的博客。

2025-03-03 19:49:21 585

原创 LaTex简历——模板改造

还在用word写简历?“太low了”

2024-12-31 10:05:08 1106 1

原创 超算入门——参考《房子下面一条猪》的视频

超级无敌计算机!!

2024-12-25 20:10:57 881

原创 正则表达式——参考视频B站《奇乐编程学院》

正则表达式yyds

2024-12-10 20:40:46 1708 5

原创 Qt数据和视图分离——中MCV和MVVM

MVC 是一种非常流行的设计模式,广泛用于Web应用程序和桌面应用程序开发。通过将用户界面与业务逻辑清晰分离,MVC 提供了一个灵活和高效的开发方式,有助于构建可维护和可扩展的应用程序。MVVM(Model-View-ViewModel)是一种软件架构模式,主要用于构建用户界面,尤其在需要双向数据绑定的应用程序中非常常见。MVVM 模式通过分离关注点,提高了代码的可维护性和可测试性。它将应用程序分为三个主要组件:模型(Model)、视图(View)和视图模型(ViewModel)。MVVM。

2024-08-07 19:21:41 2336 1

原创 C++回顾——虚析构

虚析构函数的引入是为了确保在从基类指针删除派生类对象时能够正确调用派生类的析构函数,以便完成资源清理,维护程序的健壮性和安全性。通过这一机制,C++ 提供了一种可靠的方式来管理多态性带来的复杂性,增强了面向对象编程的灵活性和可维护性。

2024-08-01 15:53:08 765

原创 一个C++链接错误——分析

确保。

2024-08-01 10:36:53 1764

空空如也

空空如也

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

TA关注的人

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