Durante la programmazione sto usando assert e convalida del puntatore NULL.Uso della convalida Assert e del puntatore NULL cosa è meglio usare
Ma come so assert sarà utile solo nella modalità DEBUG.
La mia domanda è Supponiamo che io sono un puntatore interno che io sono sicuro che posso essere funzione di esempio NULL restituisce un puntatore (ma il puntatore non è un membro della classe) in questi casi posso usare assert
test* ptr = fun(); // return a pointer of type test
assert(ptr);
//do some operation
o NULL pointer convalida
test* ptr = fun(); // return a pointer of type test
assert(ptr);
if (NULL != ptr)
{
//do some operation
}
Ecco che pratica il codice è good.As per la mia sottovalutare sarà secondo. Perché ho dovuto affrontare alcune situazioni in cui il valore di ptr restituisce NULL a causa di alcuni casi anomali a cui non possiamo nemmeno pensare.
Ma abbiamo altre opzioni migliori?
Perché questa domanda è votata come chiusa? È una domanda valida – Nawaz
Hai considerato di non restituire nulla? Sarebbe molto più facile scrivere codice. Cioè array vuoti/speciali [oggetti null] (http://en.wikipedia.org/wiki/Null_Object_pattern) e le eccezioni possono limitare in modo significativo la necessità di restituire null e quindi di controllarlo. –
@AlexeiLevenkov check secondo caso –