Podczas wykonywania programowania używam sprawdzania poprawności a także NULL.Używanie sprawdzania poprawności wskaźnika Assert i NULL, co jest lepsze w użyciu
Ale jak wiem assert będzie przydatny tylko w trybie DEBUG.
Moje pytanie jest Załóżmy, że mam wewnętrzny wskaźnik której jestem pewien mogę być NULL przykładową funkcję powracającego wskaźnik (ale wskaźnik nie jest członkiem klasy) w takich przypadkach można używać dochodzić
test* ptr = fun(); // return a pointer of type test
assert(ptr);
//do some operation
lub NULL wskaźnik walidacji
test* ptr = fun(); // return a pointer of type test
assert(ptr);
if (NULL != ptr)
{
//do some operation
}
Tutaj której praktyka kod jest good.As na moje zaniżenie to będzie drugi. Ponieważ napotkałem w niektórych sytuacjach, gdy wartość ptr zwraca NULL ze względu na niektóre nieprawidłowe przypadki, o których nawet nie myślimy.
Ale czy mamy jakieś inne lepsze opcje?
Dlaczego to pytanie jest głosowane na zakończenie? To jest poprawne pytanie. – Nawaz
Czy rozważałeś, aby nie zwracać wartości null? Znacznie łatwiej byłoby napisać kod. To znaczy. puste tablice/specjalne [obiekty puste] (http://en.wikipedia.org/wiki/Null_Object_pattern) i wyjątki mogą znacznie ograniczać potrzebę zwracania wartości zerowej, a zatem sprawdzania jej. –
@AlexeiLevenkov sprawdź drugi przypadek –