Domanda sulla parola chiave static

di il
2 risposte

Domanda sulla parola chiave static

Ciao ragazzi, la parola chiave "static" in c++ ha lo stesso significato che in java?
Da quale che ho capito, proprio no.
Qualcuno di voi che conosce entrambi i linguaggi me lo sa dire con certezza?
grazie

2 Risposte

  • Re: Domanda sulla parola chiave static

    Quasi:

    in C/C++

    in un dichiarazione del tipo (al di fuori di struct/class):

    static void f() { }
    static int i = 0;

    la funzione "f" (la variabile i) e' visibile SOLO nel sorgente che la contiene (il simbolo non sara' visibile dal linked, ma solo dal compilatore).

    In Java questa sintassi non ha senso.

    In una dichiarazione del tipo (sempre in C++):

    class C
    {
    static int f;
    static void m() { }
    }

    il significato e' lo stesso di quello in Java: il field "f" ed il metodo "m" sono di proprieta' della "classe" e non "dell'istanza" (cioe' esistera' un'unica istanza di quel metodo e/o di quel field, condivisa con tutte le istanze di quella classe)
  • Re: Domanda sulla parola chiave static

    Grazie della risposta! anche se ho capito solo la seconda parte (non ho ancora finito di imparare le basi del c++) ciao
Devi accedere o registrarti per scrivere nel forum
2 risposte