C / C ++で前方宣言を使用できるのはいつですか?
C ++では、前方宣言により、宣言に続くコードは、Personという名前のクラスがあることを認識できます。これは、これらの名前が使用されていることを確認すると、コンパイラーを満足させます。後で、リンカーはクラスの定義を見つけます。
サンプルコード
Class Person; void myFunc(Person p1) { // ... } Class Person { // Class definition here };
したがって、この場合、コンパイラーがmyFuncに遭遇すると、コードのどこかでこのクラスに遭遇することがわかります。これは、クラスを使用するコードが、クラス定義を含むコードの前に配置/含まれている場合に使用できます。
-
JavaでgetClass()メソッドを使用できるのはいつですか?
getClass() メソッドはオブジェクトからのものです クラスとそれはクラスクラスのインスタンスを返します 。オブジェクトの新しいインスタンスを宣言すると、それはクラスを参照します。 JVMごとに存在できるクラスは1つだけですが、それを参照するオブジェクトは複数あります。したがって、2つのオブジェクトのクラスを取得すると、それらは同じクラスを参照している可能性があります。 構文 public final Class<?> getClass() 例 class User { private int id; private Str
-
Javaで同期ブロックを使用できるのはいつですか?
同期 ブロック メソッドの特定のリソースで同期を実行するために使用できるコードの一部です。 同期ブロック 共有リソースのオブジェクトをロックするために使用され、同期ブロックのスコープは同期メソッドよりも小さい 。 構文 synchronized(object) { // block of code } ここでは、オブジェクト 同期されているオブジェクトへの参照です。同期されたブロックにより、オブジェクトのメンバーであるメソッドの呼び出しは、現在のスレッドがオブジェクトのモニターに正常に入力された後にのみ発生します。 例 class TicketCounter { &