問題タブ [explicit-instantiation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
70 参照

c++ - 明示的にインスタンス化されたテンプレートの静的メンバーと別の静的変数の初期化の順序

これは私の問題の簡略化された形式です(実際のライブラリに基づく):

私の質問は、関数が呼び出されるX<int>::v_前に初期化されるこの場合 (単一の翻訳単位) — 定義とインスタンス化の順序によって — が保証されているかどうかです。init()


私の知る限り、静的変数は定義順に単一の翻訳単位で初期化されますが、テンプレートと明示的なインスタンス化はそれについて何かを変えることができますか? その明示的なインスタンス化が削除されたらどうなるでしょうか? それとも、ソースコードの最後に置く?