Sobes.tech
Back to questions
Junior — Middle
76

В каких случаях рекомендуется применять static_cast в C++?

Companies where asked
ГК Адепт

Answer from AI

sobes.tech AI

static_cast в C++ рекомендуется применять для:

  • Преобразования между совместимыми типами, например, из int в double или наоборот.
  • Приведения указателей или ссылок в иерархии классов вверх по иерархии (upcasting), когда это безопасно и явно.
  • Преобразования void* в указатель на конкретный тип.

static_cast не выполняет проверок во время выполнения, поэтому использовать его нужно, когда вы уверены в корректности преобразования.

Пример:

class Base {};
class Derived : public Base {};

Derived d;
Base* b = static_cast<Base*>(&d); // безопасный upcast

int i = 10;
double dval = static_cast<double>(i); // int -> double