Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Non passare un puntatore che potrebbe non essere valido (dangling) come parametro a una funzione.
void use(int*);
void ex1()
{
int* px;
{
int x;
px = &x;
}
use(px); // px is a dangling pointer
}
Osservazioni:
Le linee guida per la durata delle linee guida di base di C++ delineano un contratto che il codice può seguire, che consentirà una perdita di memoria statica più approfondita e il rilevamento del puntatore. Le idee di base alle linee guida sono:
- Non dereferenziare mai un puntatore null non valido (dangling) o null noto
- Non restituire mai (parametro restituito o out formale) qualsiasi puntatore da una funzione.
- Non passare mai un puntatore (dangling) non valido a qualsiasi funzione.
Nome dell'analisi del codice: LIFETIMES_FUNCTION_PRECONDITION_VIOLATION