Адрес объекта с автоматическим хранением не должен быть присвоен другому объекту, который может сохраниться после того, как первый объект прекратил существование
Адрес объекта с автоматическим хранением не должен быть присвоен другому объекту, который может сохраниться после того, как первый объект прекратил существование.
Средство проверки отмечает ситуации, где адрес локальной переменной присвоен указателю, заданному в глобальной области видимости.
Средство проверки не повышает нарушения этого правила если:
Функция возвращает адрес локальной переменной. Эта ситуация покрыта MISRA C++:2008 Rule 7-5-1
.
Адрес переменной, заданной в области действия блока, присвоен указателю, который задан с большим осциллографом (но не глобальная область видимости).
Например:
void foobar ( void ) { char * ptr; { char var; ptr = &var; } }
char * ptr; void foobar ( void ) { char var; ptr = &var; }
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: объявления |
Категория: необходимый |