Aktywne Wpisy

sikpi +26
Treść przeznaczona dla osób powyżej 18 roku życia...

CalibraTeam +178
źródło: streljalu_100
PobierzSkopiuj link
Skopiuj link

źródło: streljalu_100
PobierzRegulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
Czy i jak moge uzyc nullptr, majac wczesniejsza wersje od c++ 11?
Na uczelni nie ma c++ 11, wiec mi sie tam nie skompiluje, a musi.
@wieczniezielony Może tam być NULL bo jest definiowany tak
#define NULL 0
Zamiast NULL lepiej użyć '\0' co jest lepsze semantycznie.
@piszczalka: @wieczniezielony: Niekoniecznie! NULL jest implementation-defined, z tym że musi to być wyrażenie na liczbach całkowitych dające zero. A ponieważ większość implementacji wybiera właśnie zero, to dlatego ten kod działa. Ale działa tylko i wyłącznie przez przypadek, gdyż najzwyczajniej jest to logicznie niepoprawne.
Nie ma żadnego powodu aby stosować tam NULL zamiast 0, to tylko
@vydyah: Jesli w plku bedzie jakis punkt ktory ma wspolrzedne x=0 y=1234354, to przy wczytytaniu x petla sie zerwie bo jest tam ten nieszczesny NULL.
@wolodia: Moim zdaniem ma prawo. Znak konczacy w stringu to \0 czyli wlasnie
@wieczniezielony: Nie jest!
https://stackoverflow.com/questions/1296843/what-is-the-difference-between-null-0-and-0
@wieczniezielony NAJCZĘŚCIEJ nie ma żadnej, ale kolega @wolodia wyjaśnił dlaczego jednak jest.
@wieczniezielony: Jak napisałem wyżej: 0 != NULL != '\0'
To że wartość całkowita tych wyrażeń zapewni równoważność nie znaczy że to są te same typy. To są logicznie zupełnie inne pojęcia.
@wieczniezielony: Masz zagnieżdżoną pętlę, obie modyfikują ten sam iterator i poprawność obu pętli zależy tylko i wyłącznie od tego aby ten iterator nie przekroczył dozwolonej wartości. To
"Niekoniecznie! NULL jest implementation-defined, z tym że musi to być wyrażenie na liczbach całkowitych dające zero. A ponieważ większość implementacji wybiera właśnie zero, to dlatego ten kod działa. Ale działa tylko i wyłącznie przez przypadek, gdyż najzwyczajniej jest to logicznie niepoprawne.
Nie ma żadnego powodu aby stosować tam NULL zamiast 0, to tylko zaciemnia obraz i może prowadzącemu nasunąć myśl że student nie wie