keskiviikko 11. lokakuuta 2023

Kuka kaipaa NULL-pointteria??

Chris Wellons kirjoittaa blogissaan, että C-kielen NULL-vakio on täysin tarpeeton ja että numero 0 toimii sen tilalla lähes aina:

Literal 0 for null pointers. Short and sweet. This is not new, but a style I’ve used for about 7 years now, and has appeared all over my writing since. There are some theoretical edge cases where it may cause defects, and lots of ink has been spilled on the subject, but after a couple 100K lines of code I’ve yet to see it happen.

NULL-vakio on oleellinen osa C-kielen opetusta ja esimerkkikoodeja, joten en ollut aiemmin kyseenalaistanut sen tarpeellisuutta! Koodi kuitenkin toimii jopa aiempaa yksinkertaisemmin, jos NULL-vakion korvaa numerolla nolla. NULL-vakio on määritelty stddef.h-tiedostossa, joka pitää muistaa lukea #includella mukaan, jos tiedostossa haluaa käyttää NULL-vakiota. NULL-vakion käyttö ilman, että stddef.h tiedosto tulee mukaan jotain kautta johtaa käännösvirheeseen!

Aion jatkossa käyttää numeroa nolla NULL-vakion sijasta!