Pointer Şeması

C++’ta pointer şeması, bir nesnenin bellekte nerede yaşadığını, hangi pointer’ın ona sahip olduğunu ve ne zaman serbest bırakılması gerektiğini anlamanın temel yoludur. Düşük seviyeli dillerde bellek yönetimi manuel olduğu için, yanlış yapılan her işlem memory leak (bellek sızıntısı), dangling pointer (boşta kalmış pointer) veya use-after-free gibi hatalara yol açabilir. Bellek sızıntısı, heap’te ayrılan bir bölgenin hiçbir pointer tarafından işaret edilmemesi […]

Hoş Bir Gün

Sabah uyanmak istemezken saatin geldiğini görerek derse yetişme telaşı içinde yataktan kalkmak başlangıcıdır günün. Kahvaltı mı? Tabii ki hayır. Vakit yok ki kahvaltıya. Apar topar giydiğin birkaç parça giysiyle ringe yetişirsin. Derslerde hocayı dinlemek eziyetine katlanırsın bazen arkadaşlarına sataşırsın. Bazen çok sıkıcı olur ders uyumaya çalışırsın ama hoca farketsin istemezsin yerini ona göre seçersin. Kurtuluşu beklersin ve zaman gelir çıkma […]

Selection Sort

Selection Sort, en basit sıralama algoritmalarından biridir ve özellikle algoritma mantığını öğrenirken sıkça kullanılır. Bu yöntemde amaç, dizinin her adımında geri kalan bölümdeki en küçük elemanı bulup, doğru yerine yerleştirmektir. Yani algoritma, her turda dizi üzerinde bir tarama yapar, minimum değeri belirler ve bulunduğu konumu, o turdaki sıralanacak ilk elemanla değiştirir. Mantığı oldukça basittir, fakat işlem adımı çok olduğu için […]

0 veya 1

Hayat belkide 0 veya 1. Düz mantık olmalı herşey belkide. Olmak yada olmamak işte bütün mesele bu. Ya varsındır (1) ya da yoksundur (0). Ya bir yere gidersin ya da gitmezsin. Ya da bir devreden akım geçer veya geçmez. Ya da birini seversin ya da sevmezsin. Ya haklısındır ya haksız. Ama hepsi belkide doğrudur. Aradaki renkleri kaybetmek acaba ne kadar […]

Heap-Allocated 2D Structures in C++

C++ öğrenirken en çok zorlanılan konulardan biri, işin mutfağı olan manuel bellek yönetimi ve pointer yapılarıdır. Bugün çoğu modern dil bizim için bellekle ilgilense de, C++ hâlâ düşük seviye kontrolün ne anlama geldiğini öğretmek için altın standarttır. Özellikle çift pointer (int**) kullanarak 2D dinamik dizi oluşturmak, bilgisayar biliminde veri yapılarının bellek üzerinde gerçekte nasıl tutulduğunu anlamamızı sağlar. Bu örnekte: Bu, […]