1つの非常に便利な機能は、それがときに適切な初期化とクリーンアップのための適切な方法を提供していますユーザーが定義した型のインスタンスが作成され、整形済みのオブジェクトを処理する準備が整います。
この言語は、コンストラクタとデストラクタのメカニズムによってこれを実現します。
コンストラクタとデストラクタが存在する理由は、作成されたインスタンスをメンテナンスするためです。
今すぐstatic
は、すべてのオブジェクトが使用できる共通のものがある場合に使用されるか、少なくとも使用されます。作成するクラスのすべてのインスタンス間で実際に共有されるものがある場合に使用します。
また、クラスの静的データメンバーへのインターフェイスは、主に静的データメンバーで使用される静的メンバー関数によって提供されます。
コンストラクタを静的にすることが許可されている場合、それを静的にすることによって与えられた定義が、画像に入った理由の行にstill
となるようにすることができます(オブジェクトを適切に初期化するあなたがそれを手に入れる前に)。したがって、オブジェクトが存在しない場合、コンストラクタ/デストラクタを持つことは理にかなっていません。
上記の行を考えると、少なくともこの場合(C++では)コンストラクタを静的にすることはできません。したがって、この言語ではサポートされていません。
最初に、静的なコンストラクタで何をすると思いますか?不足している機能の確かな理由が見つからない場合は、それを持つのは何ですか? –
私は、そのクラスのコンストラクタを直接呼び出してオブジェクトを作成することで、ハックするでしょう。私は静的なのは、すべてのメンバーオブジェクトを静的に強制することを知っていますが、唯一の理由ですか? – Sankalp
クラスのコンストラクタを静的でなくても直接呼び出すことができます。 –