( TheImmortal | 2012. 12. 14., p – 11:55 )

Na jó, szerintem zárjuk le a vitát, mert nem tudunk dűlőre jutni. A c mindig is arról szólt, hogy a lehető legnagyobb szabadságot, és ezzel együtt a lehető legnagyobb felelősséget nyújtja a programozók számára. Az új nyelvekben sok minden elterjedt, viszont egy új nyelv sem tudta elfoglalni a c helyét pont amiatt, ami: a leghatékonyabb magas szintű programnyelv. Ha olyan lenne, mint más nyelvek már nem lenne hatékony -> elveszne a legnagyobb előnye. Annyit kell észben tartani, hogy a tagokat és a változókat bizony inicializálni kell. Ezt szerintem fölösleges elfedni a calloc-cal, mert sok esetben overhead és számomra nem túlságosan c-s. Az újabb nyelvekben amúgy éppen hogy nem a te szemléletmódod terjedt el, hanem az inicializáló függvény, amit ott konstruktornak hívnak. Nem véletlen, hogy egy-egy osztályt nem lehet konstruktor nélkül példányosítani. Ez egyrészt végzi a dolgát, inicializál, másrészt kötelezősége miatt örök mementóként áll a programozók előtt: Itt vagyok, én vagyok a konstruktor, tedd meg azt a szívességet, hogy arra használsz, ami a hivatásom: az inicializálandó tagokat állítsd be velem! Ha 0-ra, akkor 0-ra, ha másra, akkor másra! A c++ new operátor sem calloc-ot aztán konstruktort hív :)