答えて

0

[stmt.dcl]/4(強調鉱山):

静的ストレージ期間(3.7.1)またはスレッドストレージ 持つすべてのブロックスコープ変数のゼロ初期化(8.5)他の初期化が行われる前に、持続時間(3.7.2)はで実行されます。 ブロックスコープエンティティの固定初期化(3.6.2)は、ブロックが最初に入力される前に、実行されます()。 インプリメンテーションでは、実装が静的に許可されているのと同じ条件で、静的またはスレッド記憶期間が の他のブロックスコープ変数の初期初期化を実行することが許可されています。 2)。そうでなければ、そのような変数は で初期化されます最初のコントロールはその宣言を通過します。このような変数は、その初期化の完了時に で初期化されたとみなされます。

「関数入力」とは何を意味するのかよく分かりませんが、答えはすべて引用した段落にあります。

+0

私が意味することは、私が関数を呼び出さないと、コンストラクタを呼び出すべきではないということです。 –

+0

@SiyuanRen私は、初期の初期化が許可されているので、これは保証されていないと思います。あなたが心に留めている特定の目的のためにこれが重要であれば、あなたが心配しているケースを示す新しい質問を投稿することをお勧めします。 – Brian

関連する問題