C++ · Essencial · Inglês · Técnico
static cast
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