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

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で同期ブロックを使用できるのはいつですか?

    同期 ブロック メソッドの特定のリソースで同期を実行するために使用できるコードの一部です。 同期ブロック 共有リソースのオブジェクトをロックするために使用され、同期ブロックのスコープは同期メソッドよりも小さい 。 構文 synchronized(object) {    // block of code } ここでは、オブジェクト 同期されているオブジェクトへの参照です。同期されたブロックにより、オブジェクトのメンバーであるメソッドの呼び出しは、現在のスレッドがオブジェクトのモニターに正常に入力された後にのみ発生します。 例 class TicketCounter { &