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 Через Исправления ошибок или Выравнивания, если вы рассматриваете результаты в пользовательском интерфейсе Polyspace.
Обратитесь к Результатам в Polyspace доступ Через Исправления ошибок или Выравнивания, если вы рассматриваете результаты в веб-браузере.
Аннотируйте Код и Скройте Известные или Приемлемые результаты, если вы рассматриваете результаты в IDE.
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: Выражения |
Категория: необходимый, автоматизированный |