Se llama scope resolution operator.
Te gustaría saber lo que se podría escribir en lugar
de
::
? Bueno, no hay alternativa que siempre funcione. Por su ejemplo, es posible definir con precisión las funciones miembros en el cuerpo de su clase, que sería el estilo en línea de la definición de una clase:
class A{
int value;
public:
A() {
value = 0;
}
void print() {
cout << value << endl;
}
};
De esa manera, es obvio que no hay manera de poner el definición en un archivo diferente, por lo que no es posible compilarlos por separado.
En otras ocasiones, cuando ::
se utiliza para resolver un namespace
en lugar de un class
, puede reemplazar eso con either reopening that namespace or pulling it into scope with using namespace
.
¿Qué le parece '#define SCOPE ::'? ;) – fredoverflow