Результаты поиска по запросу "static-cast"

8 ответов

Мой метод для избежания dynamic_cast <> быстрее, чем сам dynamic_cast <>?

Я отвечалвопрос несколько минут назад, и это подняло мне еще один:В одном из моих проектов я делаю разбор сетевых сообщений. Сообщения в форме:

4 ответа

Должен ли я использовать static_cast или reinterpret_cast при приведении void * к чему-либо

1 ответ

Каковы затраты времени выполнения static_cast, если добавить константу, сохраняя тот же тип?

ТОП публикаций

7 ответов

C ++ не может преобразовать из базы A в производный тип B через виртуальную базу A

2 ответа

Что static_cast <T> делает с T &?

2 ответа

Почему я могу использовать static_cast с void *, но не с char *

я знаю это

7 ответов

Использование литья в стиле C не является безопасным. Он никогда не проверяет, чтобы разные типы можно было смешивать вместе. Приведение типов в C ++ помогает вам убедиться, что приведение типов выполняется в соответствии со связанными объектами (на основе используемого вами приведения). Это более рекомендуемый способ использования приведений, чем использование традиционных приведений в стиле C, которые всегда вредны.

, что я хочу броситьA* вchar* и наоборот, у нас есть два варианта (я имею в виду, многие из нас думают, что у нас есть два варианта,потому что оба, кажется, работают! Отсюда и путаница!) struct A { int age; char name[128]; }; A a; char *buffer ...

2 ответа

На некоторых архитектурах указатель может быть больше, чем просто адрес. Изменение типа указателя может изменить его битовую комбинацию, даже если он не изменяет указанный адрес.

ущем проекте стандарта (и C ++ 17),это [http://eel.is/c++draft/expr.static.cast#13]написано о static_castingvoid *: Значение типа «указатель наCV1 void »можно преобразовать в значение типа« указатель наCV2 T ”, где T - тип объекта иCV2 является ...

5 ответов

Если я правильно понял вопрос, то я чувствую, что ответ в самом вашем вопросе. :)

я старый добрый CRPT (пожалуйста, не отвлекайтесь на ограничения доступа - вопрос не о них): template<class Derived> class Base { void MethodToOverride() { // generic stuff here } void ProblematicMethod() ...

2 ответа

, Попробуй.

уstatic_cast не может опуститься с виртуальной базы? struct A {}; struct B : public virtual A {}; struct C : public virtual A {}; struct D : public B, public C {}; int main() { D d; A& a = d; D* p = static_cast<D*>(&a); //error }g ++ 4.5 ...