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