小さなサーバーアプリケーションを作るためにlibconfig ++とスレッドを使っています。私の考えは、ミューテックスを持つラッパーとして機能する別のクラスを作成することですので、ポイントは、libconfig++ is not thread safeあり、このような何か:私はその変数のためにそのlibconfig supports plenty of typesを実現するまでC++ライブラリをマルチスレッド化する
class app_config {
public:
app_config();
/* Here be my problems. */
void set();
void get();
virtual ~app_config();
private:
Config cfg;
boost::mutex *cfg_mutex;
};
は今、これはすべて良いです。そして、私たちの主人公(私)が、この仕事を得るために何らかの形で彼に何かを示すことを望んでいる親切な心で、C + +の達人を探して自分自身を見つけたとき。
基本的に、get
とset
機能が設定ファイルの変数へのパス(私はどちらか使用して気にしないだろう)と戻り値の型(またはset
'内の第二引数を含むstd::string
かchar*
path
変数が必要になります場合のように)...
いつもどんな助けにも感謝します。
ジュリアン
ミューテックスのライフタイム管理には注意してください。 'app_config'をコピー不可能にして(mutex *の代わりに)' mutex'メンバを使うか、 'unique_ptr'メンバを使って独自のコピー操作を定義して新しいインスタンスを作成してください。 –
これは、ミューテックスがコピー不可能であるためです。ありがとう! –