Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
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 de 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;