マルチプロセスアプリケーションがあります。新しい C++ クラスを開発しました。すべての子と親に独自のインスタンスを持たせたいと考えています。このオブジェクトは、それぞれに対して 1 回だけ作成されます。
私のコードでは、メインとすべてのインスタンスで使用されているグローバル構造があり、すべてのインスタンスがこの新しいオブジェクトにグローバルにアクセスできるようにしたいので、そこにも配置します。私の構造は次のようになります。
typedef struct globalvar
{
worker_t *workers;
worker_t *curwkr;
etc.....
//std::shared_ptr<redisHandler> gredisHandler;
redisHandler gredisHandler; <---- New Object (Singleton)
} globalvar_t;
そして、すべてのソースファイルは宣言することでそれを使用します; extern globalvar_t G;
最初の質問: 親が機能するとき、新しいオブジェクトのコンストラクターが呼び出されるかどうか?
2 番目の質問 : 最初の質問で、代わりにポインターを使用し、 new child spawn の後に new operator(または make_shared) を使用してオブジェクトを作成する必要があるという結果が得られた場合、 child が終了したときにオブジェクトを削除することに注意を払う必要がありますか? それとも、OSがそれを処理しますか?