2012-02-09 27 views
5

Por ejemplo, x es static en la definición de clase. Debo usar x de esta manera:Miembro de clase "estático"

class_name::x; en lugar de instance_of_class.x;

Mi pregunta es, ¿esta última también es legal? ¿O simplemente no es correcto?

Gracias.

Respuesta

13

Es legal y correcto, pero el consenso general es utilizar el operador de resolución de alcance .

class_name::x 

en lugar de

instance.x 
+3

La única vez que he usado '.' estaba en una función de plantilla donde a veces solo era un miembro estático. –

4

Ambos son válidos. La razón para preferir usar el primero es hacer que un lector de su código comprenda que el miembro es estático y pertenece a toda la clase de objetos en lugar de a cada instancia particular.

Cuestiones relacionadas