私はこのような連鎖関数呼び出しを含む大規模なアプリケーションを持っています、cfg()
は、構成オブジェクトを返す「グローバル関数」です。連鎖呼び出しコールの順序は、
連鎖関数呼び出しのコードは、最初にx
、次にy
で処理します。ただし、C++では、コンフィグレーションオブジェクトからx
とy
のコンフィグレーションパラメータを抽出するタイミングを定義していません。実際、デバッグおよびリリースモード(MS Visual Studio 2005)でアプリケーションを実行すると、Configuration::get
への呼び出しの順番は逆になります。
ランダム値をConfiguration::get
(テスト用)から返すサポートが追加されるまでは、すべて正常でした。デバッグモードとリリースモードの動作が違うようになりました。
だから私の質問は次のとおりです。
は、私はこの問題を解決し、まだ連鎖関数呼び出しを使用することはできますか? (私たちはこのように多くのコードを書いています;すべてを変更するのは面倒です)
たとえば、volatile
のトリックを使用できますか?
あなたが_random values_を返すときに結果がどのように異なるかについて少し混乱します。確かに結果は常に異なっているべきですか? –
@LightnessRacesinOrbit私は定数種子が – anatolyg
OKの擬似ランダムジェネレータを使用します。珍しいですが、大丈夫です。 :) –