gpt4 book ai didi

c++微 Controller 全局类/单例?

转载 作者:行者123 更新时间:2023-11-27 23:52:35 26 4
gpt4 key购买 nike

我目前在微 Controller 上使用 C++,但我遇到了一个问题,我不知道正确的实现是什么:

例如,我正在使用一个串行接口(interface)类,它负责配置串行端口(设置波特率、数据位...)。由于一开始我只想在我的 MCU 的初始化阶段执行此操作,所以我不知道如何使用类来处理它。

我应该创建一个在初始化阶段创建的全局类/单例(这样我可以保留我的串行参数)还是每次我需要使用串行接口(interface)时创建一个类(但这会重新打开我的串行行 - 或者我将构造函数留空)?

非常感谢。

最佳答案

我尽量避免使用全局变量和单例。

我定义了一个类,它有一个构造函数接受路径名和配置来打开端口,还有一个析构函数关闭端口。然后,我在 main(...) 中声明了它的一个 static 本地实例,并将对它的引用传递给需要使用该端口的其他类的构造函数.

传递引用(而不是声明全局实例或全局函数来获取单例)使我能够为其他类编写单元测试,其中测试通过对 mock 的引用。串口对象。

关于c++微 Controller 全局类/单例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45238456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com