如何处理C++中的通信缓冲区



我有一个通信缓冲区,它在Listner类中实现为char commBuffer[BUFFER_SIZE]

创建由所有类共享的通信缓冲区的最佳方法是什么,而不是每个类都具有此结构,只需将其传递给缓冲区的指针?

最简单的方法是声明commBuffer[BUFFER_SIZE];全局。我不太确定best方式。但是,如果best在你的情况下意味着easiest我会坚持全球宣言。如果您真的想保持纯粹的面向对象,请将char commBuffer[BUFFER_SIZE]放入Singleton类中,并从中读取/写入数据。

像这样的东西,如果是线程化的,请使用互斥锁来控制访问。

class Listener {
    static char commBuffer[BUFFER_SIZE];
    static boost::mutex mutex;
};

最新更新