とstatic変数の初期化は、プロジェクトでは、私は、コードレビュープロセスにおける以下のようなコードを見働いています:非静的メンバ変数
class A
{
shared_ptr<B> instanceB;
}
A::A()
{
instanceB = make_shared<B>();
static C localVariable(instanceB.get());
}
を私は静的変数のを知っているが、グローバルのようなもので、プログラムの起動時に作成され、 instanceBはAがインスタンス化されたときに作成されます。そして、これはクラッシュする可能性があります。
私はinstanceB.get()が返す値について考え始めたと説明しながら説明します。おそらくごみの権利でしょうか?そして、私はそれについてもっと考えると 私はこのコードは、なぜ静的変数は、彼らのctorsで非静的なパラメータを取ることが許可されてコンパイルすべきではないと思いますか?