Ads Home1

C++ Defeating Mr. Memory Leak "Solusi Mengatasi Memory Leak"


http://www.xcodeplus.net/2017/01/c-defeating-mr-memory-leak-solusi.html
www.xcodeplus.net / C++ Defeating Mr. Memory Leak  "Solusi Mengatasi Memory Leak"

Gambar batas intro postingan

http://www.xcodeplus.net/2017/01/c-defeating-mr-memory-leak-solusi.html
www.xcodeplus.net/ C++ Defeating Mr. Memory Leak  "Solusi Mengatasi Memory Leak"

Memory Leak

Memory Leaks ( Kebocoran Memori), Dalam pemanipulasian memori dengan menggunakan pointer, kita harus dapat mencegah terjadinya kebocoran memori. Memory leak dapat diartikan seuatu kejadian dimana terdapat memori yang terbuang sia-sia.

Dalam C++ seringkali untuk programmer pemula, pointer merupakan hal yang sulit sekali dimengerti di dalam penggunaanya, Salah satu yang menjadi kelebihan dari bahasa C/C++ adalah karena bahasa ini mendukung sepenuhnya untuk pemanipulasian memori dengan menggunakan pointer. Namun di balik itu, pointer juga merupakan salah satu fitur C++ yang berbahaya karena dapat mengakibatkan sistem operasi pada komputer kita menjadi 'crash' (rusak).

Pointer merupakan hal yang paling penting dipelajari di dalam bahasa pemrograman C/C++, Terkadang walaupun sudah mendapatkan pemahaman yang cukup, namun masih ada saja hal yang masih belum dimengerti. Oleh sebab itu kami memberikan sebuah pemahaman yang menarik dan tidak kaku dengan pembawaannya yang sangat friendly ini, membahas tentang penggunaan memory leak dan kapan memory leak digunakan di dalam sebuah program. Berikut penjelasan tentang memory yang dikutip dari forum pemrograman internasional (dreamincode.net).  


BACA JUGA : C++ Mengenal Fungsi Pointer this Beserta Contoh Penggunaanya

Defeating Mr. Memory Leak


 “Typical”, I thought as I headed down to the interrogation room. I enter the dark decrepit crawlspace that the city has allocated for inquisition of criminals.

“Who do we have today?” I ask the guard on duty.

“We picked up this memory leak down the street,” came the reply, “He was acting suspicious, so we hauled him in for questioning.”

“I see. Give me the case file.”

I proceeded to enter the room. The single bulb fixture added to the already depressing mood as I sat down.

“Hello, I am Mr. Atchison, may I ask who you are?”

“My name is Leak, Memory Leak.”

“I see. Mr. Leak, do you know why you are here?”

“In fact I do. I was seen leaving the scene of a robbery.”

“So you confess then?”

“No, it wasn’t my fault, it was the other group members.”

“I believe you need to explain yourself Mr. Leak”

“Very well, it all began a few days ago…” He opens the case file:





“I could have sworn we made a clean get away.” He exclaims.

“Apparently not.” I reply. “Do you see where the memory leak was created?”

“Now I do,” he says. “If I only I called delete on our stolen Car, we could have avoided all of this mess.”

“You are absolutely right, but this isn’t the only incident is it?” I ask.

“No” He sighs and turns to the next page in the case file:
 




“Indeed. Do you know why?” I inquire.

“Not really” He replies.

“Well, when you allocate a pointer to an array of data you must use the [] operator to clean up after your pointer. Otherwise you only delete the first element and the rest of it is leaked.”

“That makes so much sense now” His face seems stuck in amazement. “I knew we leaked memory somehow.”

“I see the offense you got dragged in here on is next in the file.”

“It is.” He turns the page:
 



“That is awful. You leaked all the memory in that vector.”

“I see that now, but I’m not entirely sure how we did that, I mean, we erased all the pointers.”

“You effectively erased all the handles to the allocated memory. It is now cut off from the system. Too much of that and the whole unit could crash.”

“I’m so sorry!” he sobbed.

“It’s worthless now! The damage is already done.”

“What is going to happen to me?”

“What people fail to realize is that memory leaks don’t spontaneously occur. They are the result from poorly designed code.”

“Wha…?”

“Therefore I will show you how to correctly allocate and free memory and you will be set free.”

“Oh thank you. Thank you.”

“Now look here” I open a folder on the desk:


CASE 1 :




CASE 2 :




CASE 3 :


  

“Now that you know, I’m going to release you. But be careful when dealing with dynamic memory allocation/pointers. It is both C++’s greatest strength and greatest downfall for inexperienced programmers.”

“I will. I will. Thank you!” He gleefully leaves.

“I’m sure he’ll be back…” 



Source : www.dreamincode.net 


BACA JUGA : Mengenal Tentang Array dari Pointer dan Pointer ke Array Dalam C++


 
Gambar batas penutup
C++ merupakan bahasa pemrograman yang berkekuatan tinggi (powerful) dan sangat populer yang berorientasi objek (Object Oriented Programming). Berdasarkan penelitian yang dilakukan oleh TIOBE, tidak hanya Java dan C, C++ juga selalu masuk ke dalam jajaran bahasa pemrograman yang paling banyak banyak digunakan oleh para programmer profesional di seluruh dunia, C++ biasanya digunakan untuk mengembangkan beraneka ragam program di berbagai bidang, seperti: Games, Graphic, Bisnis, Telekomunikasi, Embedded system dan sebagainya.

Tapi dengan begitu C++ termasuk bahasa pemrograman yang tidak mudah dipelajari karena C++ merupakan bahasa middle level language, oleh sebab itu XCODEPLUS sebagai forum tutorial pembelajaran C++, hadir untuk memberikan pembelajaran bagi para programmer pemula yang ingin menguasai C++.

Kami berharap segala postingan yang kami berikan bermanfaat bagi anda. Dan untuk memotivasi kami agar terus update jangan lupa Like, Follow dan Subscribe segala sosial media kami. Terimakasih.


FOLLOW US ON SOCIAL MEDIA
Twitter     : @XcodePlus
Facebook : @xcodeplus18
Google+   : @xcodeplus

Salam, XCode.++plus😄😏










4 comments:

Kami menerima masukan dari anda jika memang ada pembahasan yang keliru dan kami sangat senang jika anda dapat berkontribusi untuk menyempurnakan postingan kami. Anda dapat mengirimkan email ke : hari18.muhammad@gmail.com

Jika postingan ini bermanfaat jangan lupa share postingan ini. Kami sangat merekomendasikan untuk anda yang membutuhkan informasi tentang computer stuff silakan subscribe blog kami dapatkan informasi terupdate dari kami secara gratiss. Terimakasih!

Powered by Blogger.