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

3 ответа

Безопасно ли повторно интерпретировать переменную класса enum для ссылки на базовый тип?

я виделreinterpret_cast используется для применения приращения к перечисляемым классам, и я хотел бы знать, приемлемо ли это использование в стандарте C ++. enum class Foo : int8_t { Bar1, Bar2, Bar3, Bar4, First = Bar1, Last = Bar4 }; for (Foo ...

7 ответов

Эквивалент C ++ reinterpret_cast в C #

Интересно, что эквивалентно С ++?reinterpret_cast в C # !? Вот мой образец: class Base { protected int counter = 0; } class Foo : Base { public int Counter { get { return counter; } } } Base b = new Base(); Foo f = b as Foo; // f will be nullУ ...

0 ответов

@ Джеймс Канзе - прости, ты прав. Я цитировал новейший черновик C ++ 0x.

е всего, это не дубликатПочему у нас есть reinterpret_cast в C ++, когда два сцепленных static_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 ...

2 ответа

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

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

1 ответ

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

Мне было интересно, что стандарт говорит о безопасности следующего кода: class A { int v; }; class B: public A { }; // no added data member A a; B& b = static_cast<B&>(a);Очевидно, тип времени выполненияa являетсяAнеBТаким образом, актерский ...

1 ответ

Доступ к первому полю структуры через приведение C нарушает строгий псевдоним?

Этот код нарушает строгий псевдоним? struct {int x;} a; *(int*)&a = 3Говоря более абстрактно, допустимо ли приведение между различными типами, если примитивные операции чтения / записи являются правильными?