- 博客(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++学习路线中核心知识点与现代编程技术详解
2025-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅