9
ответов

Почему этот reinterpret_cast не компилирует?

Я понимаю, что reinterpret_cast опасен, я просто делаю это для тестирования его. У меня есть следующий код: интервал x = 0; удвойте y = reinterpret_cast <дважды> (x); Когда я пытаюсь скомпилировать программу...
вопрос задан: 12 October 2018 12:59
6
ответов

стоимость преобразования reinterpret_cast

Насколько я понимаю, преобразование C ++ reinterpret_cast и C указателя справедливый функциональность во время компиляции и отсутствие затрат на производительность. Это правда?
вопрос задан: 26 August 2010 12:57
6
ответов

Бросок C++ к массиву меньшего размера

Вот интересный вопрос о различных причудах языка C++. У меня есть пара функций, которые, как предполагается, заполняют массив точек с углами прямоугольника. Существуют два...
вопрос задан: 30 June 2010 19:41
5
ответов

Строгое искажение указателя: какое-либо решение для определенной проблемы?

Мне вызвали проблему путем нарушения строгого правила искажения указателя. У меня есть тип T, который прибывает из шаблона и некоторого Интервала целочисленного типа того же размера (как с sizeof). Мой код по существу делает...
вопрос задан: 16 July 2012 05:26
5
ответов

Разъяснения потребности в C-стиле, дайте иное толкование, и броски константы

Действительно ли я прав в предположении, что C-стиль бросает (которым препятствуют), только reinterpret_casts? Используя последнего визуально поразительно и легок искать при поиске противных бросков и следовательно этого'...
вопрос задан: 18 September 2010 16:20
4
ответа

Если я использую static_cast или reinterpret_cast при кастинге пустоты* ко что

И static_cast и reinterpret_cast, кажется, хорошо работают для кастинга пусто* к другому типу указателя. Существует ли серьезное основание способствовать один по другому?
вопрос задан: 10 April 2010 05:06
3
ответа

преобразовать char * в структуру в c ++

У меня есть следующая структура struct record {RType m_rectype; char m_recordname [11]; char m_recordNo; char m_record_date [6]; } и у меня есть следующая строка char * type line = "1Net Netherlands3240382" ...
вопрос задан: 20 February 2019 14:32
3
ответа

Бросок от Пустоты* для ВВОДА* использующий бросок стиля C++: static_cast или reinterpret_cast

Таким образом, если Ваше преобразование из Пустоты* для Ввода* или из Типа* для Освобождения* должно Вы использовать: освободите func (пусто *p) {Params *параметрические усилители = static_cast <Params*> (p);} или пустой func (освобождают *p) {Param
вопрос задан: 17 June 2010 18:36
2
ответа

кастинг через пустоту* вместо того, чтобы использовать reinterpret_cast

Я читаю книгу, и я нашел, что reinterpret_cast не должен использоваться непосредственно, а скорее бросающий для освобождения* в сочетании с static_cast: T1 * p1 =... освобождают *pv=p1; T2 * p2 = static_cast <T2*> (...
вопрос задан: 20 December 2017 10:01
2
ответа

Способ получить неподписанный символ в станд.:: строка без reinterpret_cast?

У меня есть неподписанный массив символов, в котором я нуждаюсь в станд.:: строка, но мой текущий путь использует reinterpret_cast, которого я хотел бы избежать. Существует ли более чистый способ сделать это? неподписанный символ my_txt [] = {0x52...
вопрос задан: 15 May 2010 16:23
0
ответов

Должен ли я использовать C++ reinterpret_cast вместо C-style cast?

У меня есть следующая шаблонная функция, используемая для сброса данных любого стандартного типа в поток двоичного вывода. template static void dump ( const T& v, ostream& o ) { o.write ...
вопрос задан: 27 June 2019 20:30
0
ответов

C ++: является ли reinterpret_cast лучшим выбором в этих сценариях?

Это очень долго меня беспокоило: как сделать преобразование указателя из чего угодно в char * для выгрузки двоичного файла на диск В Си ты даже не думаешь об этом. двойной d = 3,14; char * cp = (char *) & ...
вопрос задан: 25 April 2019 06:37
0
ответов

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

Предположим, что в моем коде я должен сохранить пустоту * как данные член и при необходимости приведите его к исходному указателю класса. Чтобы проверить его надежность, я написал тестовую программу (linux ubuntu 4.4.1 g ++ -...
вопрос задан: 23 May 2017 12:12
0
ответов

C ++ Когда лучше использовать двухцепное static_cast вместо reinterpret_cast

Во-первых, это не дубликат Почему у нас есть reinterpret_cast в C ++, когда два связанных static_cast могут выполнять свою работу ?. Я знаю ситуации, когда мы не можем использовать даже два связанных static_cast для ...
вопрос задан: 23 May 2017 11:48
0
ответов

Является ли reinterpret_cast в основном бесполезным?

I Я прочитал различные предыдущие вопросы об использовании reinterpret_cast, а также прочитал соответствующие формулировки в стандарте C ++. По сути, это сводится к тому, что результат указателя -...
вопрос задан: 23 May 2017 11:45
0
ответов

Почему у нас есть reinterpret_cast в C ++, когда два связанных static_cast могут делать свою работу?

Скажем, я хочу преобразовать A * в char * и наоборот, у нас есть два варианта (I Значит, многие из нас думают, что у нас есть два варианта, потому что оба, похоже, работают! Отсюда путаница!): struct A {int age; char ...
вопрос задан: 23 May 2017 10:31
0
ответов

Могу ли я привести пример из реальной жизни, где приведение через void * работает, а reinterpret_cast - нет?

Существует ряд вопросов относительно перекрестных приведений (приведение из T1 * в несвязанный T2 * ), например то и это. Обычно ответ звучит так: reinterpret_cast определяется реализацией и ...
вопрос задан: 23 May 2017 10:24
0
ответов

Каким образом qobject_cast work?

Я только что нашел следующий код в Qt и немного запутался в том, что здесь происходит. В частности, что делает reinterpret_cast (0)? template inline T qobject_cast (const ...
вопрос задан: 5 January 2016 12:36
0
ответов

Сделайте так, чтобы у двух делений была одна и та же полоса прокрутки?

Учитывая два деления, которые представляют столбцы, встроенные в большее деление. Если HTML «! stuff» представляет множество строк данных, которые превышали бы высоту контейнера, как я могу настроить его так, чтобы два див...
вопрос задан: 7 March 2013 18:05
0
ответов

Проблема при преобразовании STL complex в fftw_complex

В руководстве FFTW говорится, что его тип fftw_complex бит-совместим с классом std :: complex в STL. Но у меня это не работает: #include #include int main () ...
вопрос задан: 5 September 2012 14:18
0
ответов

Почему приведение в стиле C работает, а повторное приведение _— нет?

Итак, у меня есть массив из двух символов unsigned char v[2]; Я хочу показать значение v[0] как число от 0 до 255, но cout << v[0] << endl; // печатает какой-то мусор cout << (void *)v[0] <&...
вопрос задан: 18 August 2012 20:50
0
ответов

Является ли спецификатор %p только для действительных указателей?

Предположим, на моей платформе sizeof (int )== sizeof (void *)и у меня есть этот код :printf ("%p", rand()); Будет ли это поведение undefined из-за передачи значения, которое не является допустимым указателем вместо %p?
вопрос задан: 27 July 2012 14:10
0
ответов

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

Нарушает ли этот код строгое использование псевдонимов? структура {инт х;} а; *(int*)&a = 3 Более абстрактно, допустимо ли приведение типов между разными типами, если примитивные операции чтения/записи относятся к типу ...
вопрос задан: 21 July 2012 17:36
0
ответов

Приведение, которое нарушает правила строгого псевдонима

У меня есть функция, которая принимает unsigned long * и должна передать ее внешней библиотеке, которая принимает unsigned int *, и на этой платформе unsigned int / long имеют тот же размер. void UpdateVar (unsigned ...
вопрос задан: 21 July 2012 04:21
0
ответов

Строгие псевдонимы и std::array против массива в стиле C

При компиляции следующего кода с помощью gcc 4.7 (g++-mp-4.7 (GCC) 4.7.0, созданный с MacPorts на OS X) я получаю, казалось бы, противоречивые результаты. Компилятор не жалуется, когда я пытаюсь переинтерпретировать и...
вопрос задан: 20 July 2012 14:59
0
ответов

Зачем мне нужно приведение переинтерпретировать _для преобразования Fred **const в void **const?

У меня есть указатель const на указатель на Fred, и я не понимаю, почему статического приведения _недостаточно. typedef struct { int n; } Фред; Фред *pFred; Фред **const ppFred = &pFred; пустота **...
вопрос задан: 10 July 2012 09:58
0
ответов

Какое значение дает const void *по сравнению с void *?

В С++ есть ли смысл использовать const void *для типа аргумента функции над void *? Поскольку пустота *непрозрачна, существует ли какой-либо риск модификации, кроме случаев, когда пользователь делает...
вопрос задан: 9 July 2012 15:42
0
ответов

Почему я не могу использовать static_cast между char * и unsigned char *?

По-видимому, компилятор считает их несвязанными типами и, следовательно, требуется reinterpret_cast. Почему это правило?
вопрос задан: 14 April 2012 07:21
0
ответов

Почему здесь важно использовать static_cast вместо reinterpret_cast?

В ответе на сообщение в блоге Раймонда Чена, спрашивающий указал на Раймонда, я считаю, что пример C ++ неверен, поскольку положение базового класса подобъект в производном классе ...
вопрос задан: 5 February 2012 16:30
0
ответов

char * правила преобразования и псевдонима

Согласно строгим правилам псевдонима: struct B {virtual ~ B () {}}; структура D: общедоступный B {}; D d; char * c = reinterpret_cast (& d); Допускается символ * для любого объекта другого типа. ...
вопрос задан: 18 December 2011 23:39