Meritum jest takie, że tylko Seba dostaje histerii gdy zobaczy null.
Co najśmieszniejsze, w C są znacznie gorsze rzeczy, np.:
int*p=malloc(sizeof(int)); free(p);q();*p= 0;
Zakładając że malloc da radę, to na końcu nie ma null.
Meritum jest takie, że tylko Seba dostaje histerii gdy zobaczy null.
Co najśmieszniejsze, w C są znacznie gorsze rzeczy, np.:
int*p=malloc(sizeof(int)); free(p);q();*p= 0;
Zakładając że malloc da radę, to na końcu nie ma null.
Nikt nie ma. Są rózne szacowania, najbardziej znane to:
Gdy dereferencjuje null to system operacyjny dostaje paniki. Przypuszczam że w końcu pojąłeś jaką głupotę napisales i teraz będziesz próbował udawać że null to nic złego. No i faktycznie to nic złego. Do dereferencji.
No i co z tego?
No i co z tego i jak to broni idiotyczną teze że dereferencja nulla nie powoduje SIGSERV czy innej katastrofy?
No i widzisz sam: Fortran jest przed Clojure, Adą i Lispem, Haskell em, Lua.
Całkiem nieźle.
program był na Linuxa. Dostaleś odpowiedź kilka razy. Zakładasz że nie jest w C++. Wot, trolowanie.
Nikt tu nie jest na tyle glupi żeby czaić się na dereferencję nulla i łapać ciezki exception.
Dodatkowo w tym tekście stoi jak byk "*Instead* of using a null reference to convey absence of an object".
Bzdury. Zakładasz dodatkowe warunki takie jak "brak jajek" które czegoś nie umożliwiają i starasz się skręcić dyskusję tak aby uniknąc słowa "dereference" udając że nullowe pointery to nic zlego z czym się zgadzam. Dyskusja jest o tym jak przezyc null pointer dereference i jak prawdziwi programisci uzywają tego do sterowania przepływem kodu.
W którym miejscu? W scope jedzenia sniadania? Może w scope dzisiejszego dnia? A może całego zycia? I skąd bedzie wiedział że ten null to brak jajek a nie wzwodu jesli scope będzie za duży? Chcyba nie chcesz mi powiedzieć że będzie kazdy pointer otaczał try catch jak byle kiepski programista za pomoca ifow.
Wszystko to rezalizuje się z uzyciem projektu, czesto standardowych wzorcow projektowych. Nie znam wzorcu projektowego który stosuje null pointer dereference do sterowania przeplywem. Przypuszczalnie w paralernych wszechświatach jest powszechny, znam też firme pochodzaca z takiego wszechświata gdzie z zięciem nie takie numery robili.
Pieprzenie. Napisaleś że null pointer dereference nie kończy programu. Kończy. Cała reszta to żałosne próby udowodnienia swiatu że chodziło o coś innego niż chodziło a reszta swiata nie potrafi pisac kodu. Dowiedzialeś się że Twoje pisanie przez exceptiony jest gowno warte bo to anty pattern. I brniesz dalej. Na pewno chcesz to kontynuować? Niektórzy czytają takie wypociny i potem wstyd.
Jest też przed Komeniusz Logo. Pamietaj, to ważne.
Tak. Całkiem nieźle. Jednak *przed* Komeniusz Logo a nie za. *Przed*! Co za ulga. Alleluja i do przodu.
Nie filizofuj. Seba precyzyjnie określił założenia: program napisany w C, skompilowany i uruchamiany na Linuxie próbujący odczytac operatorem wyłuskania wartosc wskazywaną przez nptr lub inny adres z poza przydzielonej procesowi przestrzeni spowoduje sigsegv, który definitywnie kończy proces bo tak ma być. I nie tylko w Linuxie. To się ma nijak do przevchytywania wyjątków w językach typu Java (bo to się odbywa zupełnie w innej warstwie abstrakcji) jakie próbujesz tu robić.
Wniosek całkowicie poprawny, biorąc pod uwagę, z kim wdajesz się w "dyskusję". Pikoamperowy slawek już nie raz próbował przyekspercić, niezmiennie z tragikomicznym skutkiem.
Pozdrawiam, Piotr
Konkretnie jaki system i jakiej paniki?
Ano to że nie ma w tym null pointer, a może zrobić kuku.
No i widzisz. Po co było się nadymać? Fortran ma się całkiem dobrze jak na język w którym pisał programy twój pradziadek.
Nie muszę zakładać. Zapytałem. Napisałeś że w C++. Więc wiem że ty twierdzisz że to w C++.
Przy okazji Seba wykazał się blyskotliwoscią: że jak program był na Linuksa to musem napisany w C++. No cóż, jak Seba odkryje że w Linuksie można programować np. w Phytonie...
ja się nie nadymam. Siedzę sobie i wcinam popkorn zastanawiając się nad marnością trolli internetowych.
Mój pradziadek pisał też w assemblerze który sie ma jeszcze klepiej. Czego to dowidzi w temacie null pointer dereference?
Więc jak nie znasz się na tym, to nie zabieraj głosu w dyskusji.
Ktos liczy ile razy padło w tym wątku słowo Linux? Ktoś liczy ile razy padło w tym wątku słowo SIGSERV ?
Zakładasz że ludzi o tym nie wiedzą? Jestes wcieleniem Captain Obvious? Niesiesz kaganek trywialnej oświaty?
Ale hodowla troli nie została tutaj nigdzie zakazana :D Jakoś mnie to bawi. Sugeruje cicho siedzieć i patrzeć :D
Pan Sebastian Biały zapytał:
494
Jarek, usłużnie
Fascynujące. Mam przed sobą źródła i nalezy posiadać jakąś błyskotliwość aby wykazać że są w C++ ? Serio ? O cholera. Dzieki, czuje się lepszy niż myslałem.
Myslę że jesteś jednak bardzo kiepskim rozmówcą skoro jedyne argumenty jakie masz to niskopoziomowe czepialstwo osobiste albo idiotyczne antywzroce projektowe. I pomyśleć że wielu pracodawców coraz częsciej grzebie po grupach aby zobaczyc fachowośc kandydata.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.