2012-06-07 19 views

Respuesta

12

Se llama el operador de resolución de alcance.

7

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.

+0

¿Qué le parece '#define SCOPE ::'? ;) – fredoverflow

14

¿Cuál es el nombre completo del símbolo :: en las últimas 2 líneas?

Es "operador de resolución de alcance".

¿Alguien sabe la respuesta?

Sí.

¿Es esta la pregunta más extraña que alguna vez se le haya preguntado?

+2

Me gusta mucho esta respuesta. – mathematician1975

+2

¡Votos ascendentes! – Drise

+2

En el lado negativo, y con tiempos excepcionalmente bajos, mientras escribía esto, edité la copia superflua de la pregunta. – razlebe

Cuestiones relacionadas