自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 模板类的用法和使用场景

本文介绍了C++模板类的基本概念和高级应用。模板类作为数据类型无关的通用类,通过编译时实例化生成具体类代码,常用于容器类、智能指针等场景。文章详细讲解了模板类的声明定义、多参数模板、默认参数、特化与偏特化等语法特性,并展示了其在泛型数据结构、策略模式中的典型应用。同时指出模板类具有类型安全、高性能等优点,但也存在编译错误晦涩、代码膨胀等问题。通过月饼模具的比喻,生动阐释了模板类的工作原理。

2025-11-07 17:52:30 682

原创 explicit 关键字

C++中的explicit关键字用于防止隐式类型转换,主要应用于构造函数和转换函数。当修饰构造函数时(如MyString类),它能避免编译器自动将参数类型隐式转换为类类型,强制开发者显式调用构造函数。对于转换函数(C++11起),explicit可防止类对象被隐式转换为其他类型(如BoolWrapper到bool的转换),但允许在逻辑上下文中特殊使用。使用explicit能提高代码安全性,避免意外转换带来的性能开销和逻辑错误,使类型转换意图更加明确。

2025-11-06 16:38:52 1391

原创 移动构造函数&移动赋值运算符

C++11引入移动构造函数来提升性能,通过"窃取"临时对象资源而非深拷贝。移动构造使用右值引用(Vector&&),直接转移指针并将源对象置空,避免资源重复释放。与拷贝构造不同,它不创建新资源且源对象状态变为未定义。典型应用场景包括函数返回临时对象、std::move转换及容器操作。现代C++推荐遵循"五法则":除了析构、拷贝构造和赋值外,还应实现移动构造和移动赋值运算符。合理使用移动语义可显著降低内存操作开销,但需注意移动后源对象不再可用。

2025-11-05 14:13:54 893

原创 拷贝赋值运算符

本文介绍了C++中的拷贝赋值运算符及其实现方法。拷贝赋值运算符用于对象间的赋值操作,语法为operator=,返回当前对象引用以支持链式赋值。与拷贝构造函数不同,它作用于已存在的对象。默认的拷贝赋值运算符执行浅拷贝,当类包含动态资源时需要自定义实现以避免内存泄漏和双重释放。安全实现应包括自我赋值检查、资源释放、深拷贝和返回引用。文章还介绍了更优雅的"拷贝-交换"技法,通过传值参数和swap函数自动处理自我赋值并提供异常安全性。示例代码展示了正确实现方式及其优势。

2025-11-05 10:22:29 485

原创 拷贝构造函数

拷贝构造函数是用于创建对象副本的特殊构造函数,其参数为同类对象的常量引用。它在对象初始化、值传递参数和值返回时自动调用。编译器默认提供浅拷贝构造函数,但对包含动态资源的类可能导致指针共享、内存泄漏等问题。此时需要自定义深拷贝构造函数:为新对象独立分配内存并复制内容,而非仅复制指针地址。通过实现深拷贝,可避免多个对象共享同一资源引发的悬垂指针和双重释放错误,确保对象副本拥有独立的资源副本。

2025-11-04 13:56:22 917

原创 嵌入式系统:从基础到未来趋势

本文系统介绍了嵌入式系统的核心知识体系。首先阐述了嵌入式系统的定义、特点和典型应用领域(消费电子、工业控制等)。其次详细讲解了硬件基础(MCU/MPU、常见架构和外设接口)和软件开发(工具链、编程语言、RTOS)。随后梳理了完整的开发流程和常见挑战(低功耗设计、实时性保证等)。最后展望了AI融合、RISC-V架构等未来趋势,并推荐了学习资源。全文150字完整覆盖了嵌入式系统从基础概念到前沿发展的关键内容。

2025-11-04 13:54:38 285

C++学习路线中核心知识点与现代编程技术详解

内容概要:本文系统梳理了C++语言的核心知识点,按照基础到进阶的层次划分为三个阶段:第一层涵盖对象生命周期管理、RAII、构造与析构函数、拷贝与移动语义,以及类型系统与内存模型等基本语法和规则;第二层介绍面向对象编程、模板与泛型编程、标准库核心组件如容器、智能指针和算法;第三层聚焦现代C++特性,包括移动语义、auto类型推导、Lambda表达式、并发编程支持及C++20的新特性模块等。文章最后总结出十大最重要知识点,并强调RAII、智能指针、标准库、const正确性、移动语义等在实际开发中的关键地位。; 适合人群:具备一定编程基础,希望系统掌握现代C++核心机制的初学者和工作1-3年的开发人员;尤其适合有志于提升C++编程能力、深入理解底层原理的程序员。; 使用场景及目标:①帮助学习者建立完整的C++知识体系,明确学习重点与路径;②指导开发者写出高效、安全、现代的C++代码;③为后续深入学习STL源码、高性能编程、多线程开发等打下坚实基础。; 阅读建议:建议结合理论学习与编码实践,优先掌握标准库组件的使用,循序渐进地从基础过渡到现代特性,并持续关注C++新标准的发展。

2025-11-05

空空如也

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

TA关注的人

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