Bjarne Stroustrup: «Cum să fac față scurgerilor de memorie? Scriind cod care nu are niciuna»
Creatorul lui C++ sugerează să nu cauți scurgeri, ci pur și simplu să nu le creezi – sună magic, dar funcționează.

Bjarne Stroustrup, părintele limbajului C+, ne reamintește că cea mai bună metodă de a trata scurgerile de memorie este să nu le ai deloc. În FAQ-ul său, la întrebarea „Cum fac față scurgerilor de memorie?”, răspunde cu o logică tăioasă: „Scrieți cod care nu are niciuna”. Pare un sfat de genul „cum să nu pierzi la loto? Nu cumpăra bilete”, dar în spate se ascunde o înțelepciune inginerească profundă.
Stroustrup propune utilizarea RAII (Resource Acquisition Is Initialization) și a pointerilor inteligenți, care eliberează automat memoria. E ca și cum ai angaja un majordom robot care strânge vasele după tine, în loc să alergi cu cârpa după fiecare masă. În C++11 și mai nou, std::unique_ptr și std::shared_ptr fac scurgerile practic imposibile – dacă, bineînțeles, nu te apuci să folosești new/delete cu mâna goală.
Desigur, începătorii ignoră adesea aceste sfaturi, preferând gestionarea manuală a memoriei, de parcă ar scrie în C, nu în C++. Apoi se miră de ce valgrind arată linii roșii. Dar Stroustrup este neînduplecat: „Dacă folosești pointeri bruti și gestionare manuală a memoriei, ești propriul tău dușman” (traducere liberă).
De fapt, abordarea lui nu este doar o filozofie, ci un instrument practic. C++ modern, cu containerele și pointerii săi inteligenți, permite scrierea unui cod greu de „stricat”. E ca și cum, în loc să înveți să jonglezi cu torțe aprinse, ai aprinde pur și simplu lumina. De ce să complici?
Comentariul studioului METABYTE: Și noi credem că cea mai bună protecție împotriva bug-urilor este absența lor. Dar dacă tot aveți cod legacy cu scurgeri, vă putem ajuta să-l refactorizați – fără magie, dar cu pointeri inteligenți.
URMATORUL PAS
Ti-a placut abordarea?
Aplicam aceleasi principii in proiectele clientilor: AI, automatizari, produse care nu se sting dupa lansare.