ExpertiDict

C++ · Essencial · Inglês · Técnico

static cast

ˈstæt.ɪk kæstsubstantivo

Conversão explícita checada na compilação entre tipos relacionados, como int e double ou base e derivada. Substitui o cast de C com intenção mais clara e restrita.

Onde usar

Aparece ao converter números, evitando warnings de conversão, e ao descer na hierarquia quando o tipo real é conhecido. Em review, pede-se trocar o cast no estilo C por ele.

Em código

int a = 7, b = 2;
double r = static_cast<double>(a) / b;  // 3.5
char c = static_cast<char>(65);         // 'A'

Exemplos

Use static cast to turn the int into a double.

Use static cast para transformar o int em double.

Replace this C-style cast with a static cast.

Troque esse cast de estilo C por um static cast.

Cuidado

Não faz verificação em tempo de execução: descer para a classe errada com static_cast é comportamento indefinido; para isso existe dynamic_cast.

Sinônimos

conversão explícita

Antônimos

dynamic cast

Veja também

Todos os termos de C++