Junior — Middle
122
Vai jūs varat izskaidrot, ko nozīmē operators dynamic_cast C++ un kādam mērķim tas tiek izmantots?
Uzņēmumi, kur jautāja
Renga Software
Atbilde no AI
sobes.tech AI
Оператор dynamic_cast в C++ используется для безопасного приведения указателей или ссылок в иерархии наследования, особенно при работе с полиморфизмом.
Он позволяет:
- Преобразовать указатель или ссылку базового класса в указатель или ссылку производного класса.
- Проверить во время выполнения, действительно ли объект принадлежит целевому типу.
Если преобразование невозможно, для указателей dynamic_cast вернёт nullptr, а для ссылок — выбросит исключение std::bad_cast.
Пример:
class Base { virtual void foo() {} };
class Derived : public Base {};
Base* b = new Derived();
Derived* d = dynamic_cast<Derived*>(b);
if (d) {
// Преобразование успешно
} else {
// Преобразование не удалось
}