Вопросы по теме 'dynamic-cast'
Безопасная проверка типа переменной
Для системы мне нужно преобразовать указатель в длинный, а затем длинный обратно в тип указателя. Как вы можете догадаться, это очень небезопасно. Что я хотел сделать, так это использовать dynamic_cast для преобразования, поэтому, если я смешаю их,...
4058 просмотров
schedule
23.04.2024
Есть ли способ сделать динамическое неявное приведение типов в С#?
Учитывая этот класс с неявным оператором приведения:
public class MyDateTime
{
public static implicit operator MyDateTime(System.Int64 encoded)
{
return new MyDateTime(encoded);
}
public MyDateTime(System.Int64 encoded)...
3649 просмотров
schedule
30.04.2022
Насколько дорого стоит динамическое приведение в C ++?
Для моего GUI API, который работает с множеством бэкэндов (sdl, gl, d3d и т. Д.), Я хочу динамически преобразовывать изображение общего типа во что бы то ни было.
Суть в том, что я бы выполнял динамическую трансляцию со скоростью около 20 * 60...
10477 просмотров
schedule
06.04.2022
Работает ли dynamic_cast внутри перегруженного оператора delete?
Я наткнулся на это:
struct Base {
void* operator new (size_t);
void operator delete (void*);
virtual ~Base () {} // <--- polymorphic
};
struct Derived : Base {};
void Base::operator delete (void *p)
{
Base *pB =...
896 просмотров
schedule
14.04.2024
Почему динамическое приведение базовых к производным разрешено только для полиморфных классов
Возможный дубликат: Часто задаваемые вопросы: Почему dynamic_cast работает только в том случае, если у класса есть хотя бы 1 виртуальный метод?
Я читал, что в С++, выполняя динамическое приведение по иерархии набора классов, приведение...
2534 просмотров
schedule
01.02.2022
как проверить, указывают ли два указателя на один и тот же объект или нет?
Рассмотрим два указателя
A* a;
B* b;
И A, и B являются полиморфными классами. Как проверить, указывают ли a и b на один и тот же объект или нет?
Точнее, давайте укажем, что a и b указывают на один и тот же объект, если существует...
9998 просмотров
schedule
09.12.2023
static_cast и RTTI против dynamic_cast
Пожалуйста, обратите внимание на приведенный ниже код. Насколько я знаю, dynamic_cast медленнее, чем static_cast. Потому что он оценивает тип во время выполнения. Я сомневаюсь, что если мы используем static_cast с typeid(), как показано ниже, это...
4371 просмотров
schedule
13.04.2022
dynamic_cast возвращает нулевой указатель
Ради интереса я решил попробовать сделать простую систему компонентов сущностей. У меня есть список, содержащий все компоненты, и я создал функцию getPositionComponent, которая принимает идентификатор объекта и возвращает компонент позиции, связанный...
3015 просмотров
schedule
11.02.2024
Альтернативный дизайн, чтобы избежать dynamic_cast?
Скажем, у меня есть интерфейс Archive и интерфейс File .
У каждого File гарантированно есть как минимум std::string name .
Каждый Archive может std::vector<File*> Archive::list() const свои файлы.
Каждый Archive может...
277 просмотров
schedule
28.11.2022
ClassCastException выдается при вызове .asSubclass из отдельной банки
У меня есть программа, благодаря которой у меня есть следующие три класса. Эти первые два находятся в jar1.jar :
Main (используется прием загрузки jar, найденный здесь ):
package prob1;
import java.io.IOException;
import java.net.URL;...
725 просмотров
schedule
26.06.2022
Преобразование вектора эталонной оболочки в базовый класс в вектор reference_wrapper в производный класс не может выполнять динамическое приведение
Как в названии. Я получил эту ошибку при попытке dynamic_cast
не может dynamic_cast '(& obj)->std::reference_wrapper‹_Tp>::get()' (типа 'class MEPObject') ввести 'class MEPGene&' (цель не является указателем или ссылкой на полный тип)...
385 просмотров
schedule
10.10.2023
Злоупотребление шаблонами?
Я хотел преобразовать dynamic_casts из базового класса в производный от этого стиля:
auto derived = dynamic_cast<Derived*>(object);
На что-то более компактное. Для этого я добавил в класс Base следующий шаблон:...
532 просмотров
schedule
21.12.2023
Почему я должен использовать dynamic_cast здесь
Я заметил, что если я использую приведение в стиле C (или reinterpret_cast) в приведенном ниже коде, я получаю исключение ошибки сегментации, но если я использую dynamic_cast , все в порядке. Почему это? Поскольку я уверен, что указатель a имеет...
374 просмотров
schedule
30.05.2022
Временная сложность операций typeid и dynamic_cast в C++
Если оставить в стороне все опасения по поводу необходимости использования typeid и dynamic_cast и их сомнительного влияния на обслуживание кода, есть ли какая-либо информация о производительности этих двух механизмов самоанализа динамического...
53 просмотров
schedule
07.05.2023