Avertissement C26405
Ne pas affecter à un
owner<T>
état valide (r.3)
Notes
Si un pointeur propriétaire pointe déjà vers une mémoire tampon valide, il ne doit pas être affecté à une autre valeur sans libérer d’abord sa ressource actuelle. Cette affectation peut entraîner une fuite de ressources même si l’adresse de ressource est copiée dans un pointeur brut (car les pointeurs bruts ne doivent pas libérer les ressources). Pour plus d’informations, consultez les instructions de base C++.
Nom de l’analyse du code : DONT_ASSIGN_TO_VALID
Exemple 1
Remplacement d’un propriétaire dans une boucle :
gsl::owner<Shape*> shape = nullptr;
while (shape = NextShape()) // C26405
Process(shape) ? delete shape : 0;