Listner クラスに char commBuffer[BUFFER_SIZE] として実装されている通信バッファーがあります。
各クラスがこの構造を持つ代わりに、すべてのクラスで共有される通信バッファを作成し、バッファへのポインタだけを渡す最良の方法は何ですか?
Listner クラスに char commBuffer[BUFFER_SIZE] として実装されている通信バッファーがあります。
各クラスがこの構造を持つ代わりに、すべてのクラスで共有される通信バッファを作成し、バッファへのポインタだけを渡す最良の方法は何ですか?
このようなもので、スレッド化されている場合は、ミューテックスを使用してアクセスを制御します。
class Listener {
static char commBuffer[BUFFER_SIZE];
static boost::mutex mutex;
};
最も簡単なcommBuffer[BUFFER_SIZE];
方法は、 globalを宣言することです。道がよくわかりませんbest
。しかしbest
、あなたの場合、easiest
私はグローバル宣言に固執することを意味します。純粋にオブジェクト指向のままにしたい場合は、 をクラスに入れ、char commBuffer[BUFFER_SIZE]
データSingleton
を読み書きします。