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

3 ответа

Почему я не могу static_cast между char * и unsigned char *?

По-видимому, компилятор считает их несвязанными типами и, следовательно,

1 ответ

static_cast и reinterpret_cast для std :: align_storage

Может кто-нибудь объяснить, пожалуйста, немного кода о приведении вhttp://en.cppreference.com/w/cpp/types/aligned_storage пожалуйста?может следующий код

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 ...

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

2 ответа

ошибка reinterpret_cast для enum

Почему я могуиспользовать оператор reinterpret_cast для такого приведения?

7 ответов

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

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

1 ответ

Безопасность недействительного даункаста с использованием static_cast (или reinterpret_cast) для наследования без добавления членов

1 ответ

static_cast и reinterpret_cast для std :: align_storage

Может кто-нибудь объяснить, пожалуйста, немного кода о приведении в http://en.cppreference.com/w/cpp/types/aligned_storage [http://en.cppreference.com/w/cpp/types/aligned_storage]пожалуйста? может следующий код return *static_cast<const ...

1 ответ

Законно ли приводить указатель на ссылку на массив, используя static_cast в C ++?

У меня есть указательT * pValues что я хотел бы рассматривать какT (&values)[N] В этом так ответhttps://stackoverflow.com/a/2634994/239916 [https://stackoverflow.com/a/2634994/239916]Предлагаемый способ сделать это T (&values)[N] = ...

2 ответа

> Я хочу обратное преобразование: от двойного * до двойного []. Что вы не можете получить: указатель не содержит информацию о длине массива. Однако вы знаете, что этот массив всегда имеет два элемента, поэтому: вы можете обращаться с указателем как с именем массива: double * p = кое-что (); р [0] = 1,0; р [1] = 2,0; потому что по определению arrayname [index] равно * (arrayname + index)

аюсь узнать оstatic_cast а такжеreinterpret_cast. Если я прав, стандарт (9.2.18) говорит, чтоreinterpret_cast для стручка данных безопасно: Указатель на объект POD-struct, соответствующим образом преобразованный ...

4 ответа

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