( zsolt | 2013. 10. 29., k – 23:53 )

Nagyon nehéz ezt az egészet elmagyarázni. Úgy lehet megérteni igazán, ha rendesen dolgozol ilyen C++ projectben. Sajnos azok számára, akik mostanában tanultak programozni, ez legalábbis sci-fi, de inkább a teljesen lehetetlen kategória. Pedig a beágyazott rendszerek fejlesztése nagyrészt ezekkel a primitív módszerekkel történik. És persze sok más C++ project is.
A C++ automatikus memóriakezelése alatt azt értem, amikor az egymást tartalmazó objektumok allokálása, a konstruktoruk, destruktoruk futása és a deallokálása automatikusan zajlik. Iskolai példákban ezt a stacken szokták próbálgatni és valahogy asszociálódik az embereknél a stackkel, de ez a heapen is működik vagy egy containerben.
Memory leak detectort célszerű az allokátor szintjére tenni fejlesztési időben, valgrind inkább profiler unix-like rendszerekre.
std::vectort konkrétan nem szokásom használni, de szerintem a [] operátort mindenképpen metódusként érdemes megírni, ami legalább ASSERT-ekkel védett. Az általam használt containerekben mindenesetre így van. Gyakorlatban egyébként jellemzően nem ez a terület okoz problémákat.

Az én tapasztalatom egyébként az, hogy a programozók nem valami korlátozandó idióták, akiket inkább le kell kötözni, nehogy hibázhassanak. Ha a te hozzáállásod lenne általános, már rég betiltották volna a személyautókat és csak sínen közlekedő automatizált eszközökön lehetne közlekedni. Ahol meg nincsen sín, oda ne akarjon menni senki.