- 博客(45)
- 问答 (1)
- 收藏
- 关注
原创 【C++ 面试题】智能指针
特性unique_ptrshared_ptrweak_ptr所有权独占共享无所有权引用计数❌ 无✅ 有✅ 仅弱计数拷贝禁止允许允许移动允许允许允许自动释放✅✅(最后一个)❌控制块无有依附shared_ptr性能高(无原子操作)较低(线程安全)较高(轻量)典型场景独占资源、RAII多处共享资源观察者模式、打破环。
2025-11-14 19:00:00
305
原创 【C++ 面试题】RAII 机制
— 资源获取即初始化。把资源的申请与对象的构造绑定;把资源的释放与对象的析构绑定。因此,只要对象的生命周期结束(无论以何种方式),资源一定被安全释放。Stack Unwinding(栈展开)调用已构造对象的析构函数;弹出栈帧;直到找到能处理异常的catch块;若没找到,程序最终调用结束。优点说明✅ 自动释放资源避免内存泄漏✅ 异常安全抛异常也能正确释放✅ 可组合可与 STL 容器、智能指针等结合✅ 可移植适用于任何需要 acquire/release 的资源。
2025-11-13 19:00:00
526
原创 【C++ 面试题】移动语义
特性左值引用T&右值引用T&&万能引用T&&(模板推导)可绑定对象左值右值左值或右值是否能移动资源❌✅✅(右值时)是否可转发❌❌✅(配合常用函数std::move编译器识别恒为左值仅右值绑定自动判断实现基础普通引用移动语义引用折叠+完美转发。
2025-11-12 19:00:00
530
原创 【C++ 面试题】内存对齐
内存对齐指的是:编译器在为变量或结构体分配内存时,会按照一定的规则让变量的起始地址满足某种对齐条件,即变量的地址是某个“对齐值”的整数倍。项目对齐前对齐后性能影响地址边界任意按类型大小对齐提升访问效率总线访问多次拼接一次完成减少访存次数Cache 命中差高减少缓存失效程序大小小略大空间换时间可移植性差高结构体兼容性强。
2025-11-11 19:00:00
1334
原创 《C++并发编程实战第二版》读书笔记01——P1~P14
本文主要对《C++并发编程实战第二版》上的知识做了一个提炼,针对一些难理解的地方做了解释,并对重点知识和代码做了整理。
2025-08-09 18:53:51
665
原创 UML 类图(提供 Java 实现)
这里只是简单的概括一下,具体完整的定义可以自行查询相关资料。文章只给出 IDEA 自动生成的 UML 类图,关于软件工程标准的类图暂时没有(作者太懒了。在软件工程中,类图是一种静态的结构图,描述了系统的类的集合,类的属性(成员变量、方法)和类之间的关系。它是系统分析和设计阶段产生的,用来简化了人们对系统的理解。
2024-09-16 21:26:13
1396
原创 软件设计原则(Java实现/给出正例反例)
软件设计原则有助于编写灵活、可扩展且易于维护的代码。以下是每个设计原则的定义以及未遵循和遵循原则的 Java 示例。
2024-09-16 20:41:16
1176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2