私のプログラムには、引数として整数を取るグローバル cpp ファイルというオブジェクトがあります。
//In global header
extern Object example;
//In global cpp file
Object example( (rand() % 6) );
オブジェクトの引数に乱数を発生させたいのですが、後でメインで呼び出される別のcppファイルで作成されたシードとして、シードがグローバル変数に到達しません。
私の主な問題は、ランダムシードがglobal.cppのオブジェクトの引数に到達しないことですが、スレッドを含む特定の理由でそこに置きました。
私の主な質問は次のとおりです。ランダムシードはグローバル変数に到達できますか? はいの場合、方法を教えてください
(また、はいの場合、次の質問は無関係です)
しかし、それが不可能な場合、この質問はスレッドとオブジェクトを作成する場所に関するものです。オブジェクト クラスは、次のように実行スレッドで関数を呼び出し、別のスレッドで別の関数を呼び出します。
//スレッド A
int thread(void *data)
{
example.showimage();
return 0;
}
//ThreadB
int thread(void *data(
{
example.moveimage();
return 0;
}
2 つのスレッド間でこの種の機能が必要ですが、グローバルでオブジェクトを作成せずにこれを実現する方法はありますか?