实践描述:
亲爱的慕友们,在我们掌握了静态成员、私有构造和单例模式后,是不是发现:全局唯一资源(如日志器、节点句柄)需要被“温柔地约束”?本项目将实现一个线程不敏感但工程可靠的单例日志器,为后续 ROS2 节点打下基础。
题目:
ROS2 节点需全局唯一的日志器,避免多实例导致日志分散。实现线程不敏感的单例。
输入与预期输出
- 对象地址相同 输出带前缀
- 即多次 getInstance() 返回同一地址
作业描述
任务要求:
一、开发语言与环境要求
1、语言版本:c++语言
2、开发工具:VS Code(需能一键编译运行)
二、程序整体要求
- 构造函数私有
- getInstance() 返回引用
- 日志格式:[LOG] <message
三、详细设计规范
- 设计一个单例日志类
四、提交内容
- SingletonLogger.h + main.cpp
- 回答:“为何不返回指针?”
评分标准是什么?
- 单例实现正确(20)
- 禁止拷贝(15)
- 日志格式正确(10)
- 地址验证(10)
- 构造函数私有(10)
- 静态成员使用(10)
- 无全局变量(10)
- 代码简洁(15)