- 博客(6)
- 收藏
- 关注
原创 C++学习知识点记录4
本文介绍了使用C++智能指针实现的发布-订阅模式。发布者(Publisher)通过弱引用(std::weak_ptr)管理订阅者(Subscriber)列表,订阅者继承std::enable_shared_from_this以获取自身共享指针。关键点包括:1)使用前向声明减少依赖;2)避免循环引用;3)不能在构造函数中调用shared_from_this();4)通过延迟注册解决初始化问题。示例展示了创建发布者、订阅者、发布消息和自动清理的过程,体现了智能指针在对象生命周期管理中的优势。该实现避免了内存泄漏
2025-06-11 22:52:23
206
原创 C++知识点记录3
C++11引入的委托构造函数特性允许一个构造函数调用同类的其他构造函数,减少代码重复。示例展示了如何通过委托构造函数链式调用最终的非委托构造函数完成初始化。文章还介绍了构造函数隐式转换规则,强调C++仅允许一步自定义类型转换,并推荐使用explicit关键字禁止单参数构造函数的隐式转换,以避免潜在歧义。最后建议尽可能对所有构造函数使用explicit,除非明确需要隐式转换功能,以保证代码清晰性。
2025-06-09 23:17:44
278
原创 C++学习知识点记录2
类型说明示例顶层const变量或指针本身不可变底层const指向或引用的对象不可变组合const指针本身和指向对象都不可变引用const引用绑定的对象不可通过引用修改。
2025-06-08 22:48:56
252
原创 C++学习知识点记录1
C++类型系统核心概念摘要auto与decltype区别:auto推导值类型,忽略const和引用;decltype保留表达式完整类型特性,包括引用和const修饰。auto适用于简化类型声明,decltype用于精确类型控制和泛型编程。左值右值:左值有持久内存位置,可被赋值;右值是临时对象,不能赋值。函数返回值通常为右值,但返回引用时为左值。左值可转为右值,反之不可。四种类型转换:static_cast:基本类型和继承关系转换dynamic_cast:运行时安全向下转型c
2025-06-07 21:59:58
834
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人