Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Не удаляйте недопустимое
owner<T>состояние (r.3)
Замечания
После выпуска указателя владельца или передачи ресурса он попадает в недопустимое состояние. Удаление такого указателя может привести к немедленному повреждению памяти из-за двойного удаления или нарушения доступа при доступе к удаленному ресурсу из другого указателя владельца.
Имя анализа кода: DONT_DELETE_INVALID
Пример 1
Удаление владельца после передачи его значения:
gsl::owner<State*> validState = nullptr;
gsl::owner<State*> state = ReadState();
validState = state;
if (!IsValid(state))
delete state; // C26404
Пример 2
Удаление неинициализированного владельца:
gsl::owner<Message*> message;
if (popLast)
message = ReleaseMessage();
delete message; // C26404