C++ · Essencial · Português · Técnico
operador de escopo
O operador :: indica a qual namespace ou classe um nome pertence, como std::string ou Conta::total. Sozinho, no início, ::x refere-se ao escopo global.
Onde usar
Aparece ao usar a biblioteca padrão, definir funções membro fora da classe e acessar membros estáticos. Também desambigua nomes globais que ficaram escondidos por variáveis locais.
Em código
int x = 1;
namespace n { int x = 2; }
void f() {
int x = 3;
std::cout << x << n::x << ::x; // 321
}Exemplos
Use o operador de escopo para chamar a versão global da função.
Defina o método fora da classe com Conta::depositar.
Cuidado
Não confunda com o ponto e a seta, que acessam membros de um objeto; o operador de escopo acessa nomes de um escopo.
Sinônimos
dois-pontos duplos