C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

前方宣言C/C ++はいつ使用できますか?


前方宣言により、宣言に続くコードは、Personという名前のクラスがあることを認識できます。これは、これらの名前が使用されていることを確認すると、コンパイラーを満足させます。後でリンカはクラスの定義を見つけます。

Class Person;

void myFunc(Person p1) {
   // ...
}

Class Person {
   // Class definition here
};

したがって、この場合、コンパイラがmyFuncに遭遇すると、コードのどこかでこのクラスに遭遇することがわかります。これは、クラスを使用するコードが、クラス定義を含むコードの前に配置/含まれる場合に使用できます。


  1. JavaでgetClass()メソッドを使用できるのはいつですか?

    getClass() メソッドはオブジェクトからのものです クラスとそれはクラスクラスのインスタンスを返します 。オブジェクトの新しいインスタンスを宣言すると、それはクラスを参照します。 JVMごとに存在できるクラスは1つだけですが、それを参照するオブジェクトは複数あります。したがって、2つのオブジェクトのクラスを取得すると、それらは同じクラスを参照している可能性があります。 構文 public final Class<?> getClass() 例 class User {    private int id;    private Str

  2. JavaでStringクラスのintern()メソッドを使用できるのはいつですか?

    intern()メソッド 文字列クラスの 文字列の重複の問題に対処するために使用できます Javaで。 intern()の使用 重複する文字列インスタンスによって消費される多くのメモリを節約できます 。文字列に別の文字列と同じ内容が含まれているが、異なるメモリ位置を占有している可能性がある場合、その文字列は重複しています。 JVMが個別のヒープメモリを維持していることはわかっています パフォーマンスのための文字列リテラル用。文字列リテラルを宣言すると、このプールに移動します また、同じリテラル値で別の変数が割り当てられている場合、その変数は新しいオブジェクトを作成する代わりにプールから選択