Memory Leak bir uygulamanın bellek harcarken, kullandığı belleği işletim sistemine geri veremediği durumdur. Örneğin oluşturup işlem yaptığımız pointeri işimiz bitince silmezsek programın devamında büyük sıkıntılara yol açabilir. Program çalışırken belli bir süre sonra ram’in dolması sebebiyle bilgisayarda yavaşlama vs meydana gelebilir RAM şiştiği için işlemlerin sonuçlanması artık çok daha zaman alır. Bu sorunu yaşamamak için oluşturduğumuz pointeri işimiz bitince silmeliyiz. Aşağıda ufak bir kod örneği bulunmakta.
int a = 2;
int* ptr = &a;
*ptr = 25;
delete(ptr);
Delete methodu ile pointerin işgal ettiği bellek hücreleri boşaltılarak bilgisayara kullanması için verilir.
Garbage Collector olmayan programlama dillerinde bu işlemlere dikkat etmeliyiz, GC olan dillerde sistem bu işlemleri bizim için otomatik olarak kullanımı sona ermiş hafıza hücrelerini serbest bırakıyor. Bellekten isteğimiz çok üst düzey değilse ek bir şeyler yapmamıza gerek kalmıyor.
1 Response
[…] ve değerine 4 atıyorum. İşim bittikten sonra ilgili pointeri daha önceki yazımda bahsettiğim Memory Leak olmasını istemediğimden ötürü siliyorum fakat bu pointeri sonradan kullanmak istersem […]s