Результаты поиска по запросу "dynamic-cast"
Теперь, если класс не полиморфен, компилятору не удастся выяснить, указывает ли pCar на honda или toyota car. Обратите внимание, что это только один из способов реализации dynamic_cast, поскольку стандарт C ++ ничего не говорит о vtables.
дующем коде при построенииobj в случае 1 мы строимderived Объект класса тоже, но его функции-члены просто недоступны дляobj, Таким образом, при снижении (то есть, в случае 2), используяobj в качестве источника мы построилиderived в этом уже. ...
-1: Вы можете динамически передавать полиморфный класс другому полиморфному классу, только если их RTTI связаны. В противном случае вы получаете 0 ptr (если вы преобразуете в ptr), или вы получаете исключение bad_cast, если вы разыгрываете ссылку на несвязанный полиморфный класс.
ю, что это законно использоватьdynamic_cast сделать "перекрестное приведение" через иерархию классов. Например, если у меня есть классы, которые выглядят так: A B \ / CЕсли у меня естьA* указатель, указывающий на объект типаCтогда я ...
быть NULL.
я проблема с dynamic_cast. я просто скомпилировал свой проект и протестировал все в режиме отладки, а затем попытался скомпилировать его в режиме выпуска, я скопировал каждую конфигурацию из параметра оптимизации, кроме режима отладки, который ...
будет работать. Тогда вы можете сравнить указатели, как вы сравниваете сейчас.
ел бы получить некоторую информацию о передовом опыте при сравнении указателей в таких случаях, как этот: class Base { }; class Derived : public Base { }; Derived* d = new Derived; Base* b = dynamic_cast<Base*>(d); // When comparing the two ...
Это не самая объектно-ориентированная ситуация, но это случается, и dynamic_cast может помочь вам в этом (ну, в общем, приведение не слишком объектно-ориентировано).
ного раз говорили (и я видел себя на практике), что использование dynamic_cast часто означает плохой дизайн, потому что он может и должен быть заменен виртуальными функциями. Например, рассмотрим следующий код: class Base{...}; class ...
внутри, к нему предъявляются те же требования.
у я получаю следующую ошибку для следующего кода? 1>C:\Libs\boost_1_44\boost/smart_ptr/shared_ptr.hpp(259): error C2683: 'dynamic_cast' : 'my_namespace::A' is not a polymorphic type 1> D:\[location]\[header_filename].h(35) : see declaration of ...
Есть ли способ сделать динамическое неявное приведение типов в C #?
Учитывая этот класс с неявным оператором приведения: public class MyDateTime { public static implicit operator MyDateTime(System.Int64 encoded) { return new MyDateTime(encoded); } public MyDateTime(System.Int64 encoded) { _encoded = encoded; } ...
Спасибо, Ник, это было тем, что я тестировал ранее сегодня днем, я знаю, что это решение потребовало бы много памяти, если бы в каждом экземпляре кэшировалось несколько сценариев, но, как я видел, в настоящее время это лучший способ реализовать мой сценарий использования. , Любые советы, если динамическая загрузка кода будет доступна в версии 2.7? Это было бы прекрасно :-)
тоящее время я пытаюсь свернуть свой собственный «маршальный» код для python, чтобы я мог хранить скомпилированный код python в Google App Engine, чтобы динамически обслуживать сценарии. Как вы все можете убедиться, маршал не поддерживается в ...
будет правильным в производственном коде. Если производительность важнее безопасности, тогда удалите.
dynamic_castннее, но они безопаснее, чемstatic_casts (при использовании с иерархиями объектов, конечно). Мой вопрос заключается в том, что после того, как я убедился в своем отладочном коде, что все (динамические) приведения правильны, есть ли ...