我有一个是在听者中类中实现为char commBuffer [BUFFER_SIZE]如何在C++中处理通信缓冲区?
什么是创建由所有类所共享的通信缓冲器的最佳方式,而不是每一个类具有这样的结构,通通信缓冲器它只是一个指向缓冲区的指针?
我有一个是在听者中类中实现为char commBuffer [BUFFER_SIZE]如何在C++中处理通信缓冲区?
什么是创建由所有类所共享的通信缓冲器的最佳方式,而不是每一个类具有这样的结构,通通信缓冲器它只是一个指向缓冲区的指针?
最简单方式是声明commBuffer[BUFFER_SIZE];
全局。我不太确定best
的方式。但如果您的案例中的best
意味着easiest
我会坚持全球宣言。如果你真的想保持纯粹的面向对象的话,把char commBuffer[BUFFER_SIZE]
放到一个Singleton
类中,然后读/写数据。
就像这样,如果它是线程使用互斥量来控制访问。
class Listener {
static char commBuffer[BUFFER_SIZE];
static boost::mutex mutex;
};
对于每个听众*不*有*自己的读取缓冲器有*非常*很好的理由吗?显而易见的答案(同步问题不能承受,这是**重要的**)..做'静态'类成员对你来说意味着什么。 – WhozCraig
原因是空间......每个屏幕都继承了列表器,并且每个屏幕创建了30K的缓冲区空间 – Astronaut
我可以使用大量的这些“屏幕”对象吗? – WhozCraig