Адрес объекта с автоматическим хранением не должен быть присвоен другому объекту, который может сохраниться после того, как первый объект прекратил существование
Адрес объекта с автоматическим хранением не должен быть присвоен другому объекту, который может сохраниться после того, как первый объект прекратил существование.
Если объект продолжает указывать на другой объект после того, как последний объект прекращает существование, разыменовывание первого объекта приводит к неопределенному поведению.
Средство проверки отмечает ситуации, где адрес локальной переменной присвоен указателю, заданному в глобальной области видимости.
Средство проверки не повышает нарушения этого правила если:
Функция возвращает адрес локальной переменной. 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; }
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: объявления |
Категория: необходимый |