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

时间:2012-11-28 17:40:15

标签: c++

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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