2012-02-09 15 views
5

Ad esempio, x è static nella definizione della classe. Devo usare x in questo modo:Membro classe "statico"

class_name::x; piuttosto che instance_of_class.x;

La mia domanda è, è quest'ultimo anche legale? O semplicemente non è corretto?

Grazie.

risposta

13

È legale e corretto, ma il consenso generale è quello di utilizzare l'operatore di risoluzione dell'ambito .

class_name::x 

piuttosto che

instance.x 
+3

L'unica volta che ho usato '.' era in una funzione modello in cui era solo a volte un membro statico. –

4

Entrambi sono validi. La ragione per preferire utilizzare il primo è di creare un lettore del codice per capire che il membro è statico e appartiene all'intera classe di oggetti piuttosto che a ogni particolare istanza.

Problemi correlati