Advertencia C26405
No asigne a un
owner<T>
que pueda estar en estado válido (r.3)
Comentarios
Si un puntero propietario ya apunta a un búfer de memoria válido, no debe asignarse a otro valor sin liberar primero su recurso actual. Esta asignación puede provocar una pérdida de recursos incluso si la dirección del recurso se copia en algún puntero sin procesar (ya que los punteros sin procesar no deben liberar recursos). Para más información, consulte C++ Core Guidelines.
Nombre del análisis de código: DONT_ASSIGN_TO_VALID
Ejemplo 1
Sobrescribir un propietario en un bucle:
gsl::owner<Shape*> shape = nullptr;
while (shape = NextShape()) // C26405
Process(shape) ? delete shape : 0;
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de