- 博客(7)
- 收藏
- 关注
原创 缓存存储数据
缓存通过高速存储介质分块存储结构(缓存行/页)和智能淘汰策略(LRU/LFU)实现数据加速。其本质是利用“局部性原理”(程序倾向于访问最近或频繁使用的数据),通过空间换时间提升系统性能。不同层级的缓存(CPU、内存、存储)在介质、容量、策略上各有侧重,但核心目标均为缩短数据访问路径,减少CPU或应用的等待时间。理解缓存的存储机制,对优化系统性能(如数据库缓存设计、CPU架构调优)具有关键意义。
2025-06-01 19:48:46
832
原创 c++共享性智能指针和弱引用智能介绍
(弱引用智能指针)是C++11引入的两种重要智能指针,通常结合使用以解决循环引用问题。在C++中,智能指针(Smart Pointers)用于自动管理动态内存,避免内存泄漏。通过合理使用这两种智能指针,可以显著提升C++内存管理的安全性和可维护性。对象不会被销毁,因为引用计数永远≥1。会因循环引用导致内存泄漏。(共享性智能指针)和。
2025-06-01 19:44:18
344
原创 C++ 唯一性智能指针 std::unique_ptr 详解
unique_ptr允许指定自定义的删除器,这在管理非内存资源时特别有用。// 文件句柄的删除器// 创建管理文件句柄的unique_ptr// C++17起可以用模板推导简化提供了自动内存管理,防止内存泄漏几乎零开销,性能与原始指针相当明确表达独占所有权的语义支持自定义删除器,可管理各种资源与标准容器和算法良好配合是实现 RAII 和 Pimpl 等惯用法的关键组件在大多数需要动态分配内存的情况下,应该优先考虑使用,只有在确实需要共享所有权时才使用。
2025-05-27 22:29:02
1798
原创 C++中的functional和bind详解
plusminusmultipliesdividesmodulusnegateequal_togreaterlessless_equallogical_orbit_andbit_orbit_xor// 使用预定义的函数对象int());// 等价于});头文件和std::bind为C++提供了强大的函数式编程能力,使得函数可以作为一等公民被传递、组合和部分应用。虽然在现代C++中lambda表达式通常更受欢迎,但理解这些工具对于阅读和维护现有代码库仍然非常重要。
2025-05-27 22:17:18
450
原创 C++ 单例模式详解
推荐实现:在现代C++中,Meyers’ Singleton(使用局部静态变量)是最简洁、安全、高效的实现方式线程安全:C++11及以后版本保证局部静态变量初始化是线程安全的资源管理:局部静态变量在程序结束时自动销毁,无需手动释放防止复制:务必删除拷贝构造函数和赋值运算符考虑替代方案:在某些情况下,依赖注入可能是比单例更好的选择单例模式虽然有用,但应当谨慎使用,因为它本质上是一种全局状态,可能导致代码耦合度高、难以测试等问题。
2025-05-27 22:14:43
690
原创 C++封装与继承详解
封装强调数据隐藏和接口暴露,通过访问控制实现继承强调代码重用和层次化设计,通过派生类扩展基类功能两者结合使用可以创建出结构良好、易于维护的面向对象程序合理使用虚函数、纯虚函数和抽象类可以实现多态行为注意继承的深度和复杂性,避免过度设计。
2025-05-26 22:37:25
613
1
原创 C++三大特性之多态
一、多态的定义及实现1.1、多态的概念通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。 1.2、多态的构成条件多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。Person对象买票全价,Student对象买票半价。 在继承中要构成多态还有两个条件:必须通过基类的指针或者引用调用虚函数。被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写。1.2.1、虚函数的重写虚函数的重写(覆盖):派生类中有
2025-05-26 22:32:49
684
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅