reinterpret_cast не должен использоваться
reinterpret_cast не должен использоваться.
reinterpret_cast
обычно используется, чтобы явным образом преобразовать между двумя несвязанными типами данных. Например, в этом примере, reinterpret_cast
преобразует тип struct S*
к int*
:
struct S { int x; } s; int* ptr = reinterpret_cast<int*> (&s);
Однако это затрудняет, чтобы использовать reinterpret_cast
и не нарушают безопасность типов. Если результат reinterpret_cast
указатель, безопасно разыменовать указатель только после того, как вы бросаете указатель назад на его исходный тип.
Средство проверки правила отмечает все использование reinterpret_cast
ключевое слово.
Если средство проверки правила отмечает использование reinterpret_cast
то, что вы считаете безопасными, добавьте комментарий, выравнивающий по ширине результат. Смотрите Результаты Polyspace Адреса Через Исправления ошибок или Выравнивания.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: Выражения |