Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, Arif Altıok tarafından sunulan bir programlama dersidir. Eğitmen, sınıflardaki yıkıcı fonksiyonlar (destructor) konusunu anlatmaktadır.
- Videoda yıkıcı fonksiyonların ne olduğu, nasıl tanımlandığı ve kullanım amacına değinilmektedir. Yıkıcı fonksiyonların nesnenin yaşam döngüsü bittiğinde derleyici tarafından otomatik olarak çağrıldığı, pointerlarla dinamik bellek yönetimi için önemli olduğu ve sadece bir tane parametresiz olarak tanımlanabileceği açıklanmaktadır. Eğitmen, konuyu kod örnekleriyle pekiştirmekte ve yıkıcı fonksiyonların ilk giren son çıkan prensibine göre nasıl çalıştığını göstermektedir. Ayrıca, tilda işareti (~) kullanımı ve delete komutu ile dinamik bellek yönetimi hakkında önemli bilgiler verilmektedir.
- 00:12Yıkıcı Fonksiyonlar Nedir?
- Yıkıcı fonksiyonlar (destructor), bir sınıftan nesne oluşturulduğunda otomatik çağrılan kurucu fonksiyonların tam tersi işlemi yapan fonksiyonlardır.
- Yıkıcı fonksiyonlar, nesnenin yaşam döngüsü bittiğinde veya program bittiğinde sistem tarafından kaldırıldığında yapılacak işlemlerin yer aldığı fonksiyonlardır.
- Yıkıcı fonksiyonlar, nesnenin yaşam döngüsü bittiğinde derleyici tarafından otomatik olarak çağrılır.
- 01:16Yıkıcı Fonksiyonların Tanımlanması
- Yıkıcı fonksiyonlar, sınıf ile aynı isimde olmalı ve isimden önce tilda işareti (~) kullanılmalıdır.
- Yıkıcı fonksiyonlar dönüş değeri yoktur ve void yazılmaz.
- Yıkıcı fonksiyonlar parametresiz olmak zorunda ve bir tane olmak zorundadır, birden fazla tanımlanamaz.
- 02:19Yıkıcı Fonksiyonların Kullanım Amacı
- Dinamik bellek olarak pointerlar üzerinde işlem yapıldığında, nesnenin işi bittiğinde pointer olarak kullanılan bellek alanını sisteme geri iade etmek gerekir.
- Pointer olmayan türde özellikler tanımlandığında yıkıcı fonksiyon tanımlamaya gerek yoktur.
- Pointer ile dinamik bellek olarak alınan alanları sisteme iade etmek için yıkıcı fonksiyon tanımlanmalıdır.
- 03:12Yıkıcı Fonksiyon Örneği
- Örnek olarak bir integer tipinde pointer tanımlanmış ve getir-setter fonksiyonları yazmadan public olarak bırakılmıştır.
- Yıkıcı fonksiyonun gövdesinde, pointer tipindeki özellik sistemden kaldırılır (delete z).
- Program çalıştırıldığında, nesne oluşturulduğunda parametresiz kurucu çalışır, program sonlanırken yıkıcı fonksiyon çalışır.
- 05:14Parametreli Nesneler ve Yıkıcı Fonksiyonlar
- Parametreli nesneler oluşturulduğunda, parametreli kurucu çalışır ve program sonlanırken yıkıcı fonksiyon çalışır.
- Nesneler ilk giren son çıkan prensibiyle çalışır, yani programa tanımlanan ilk nesne kurucusu ilk çağrılırken yıkıcısı son çağrılır.
- Daha sonradan oluşturulan nesnenin kurucusu sona çağrılırken yıkıcısı ilk çağrılır.
- 06:58Yıkıcı Fonksiyonlarda Dikkat Edilmesi Gerekenler
- Yıkıcı fonksiyonlarda, dinamik olarak alınan pointerdaki belleği iade etmek için delete z komutu kullanılır.
- Yer almadığımız bir pointerı silmeye çalışırsak genel bir hatayla karşılaşırız.
- Tilda işareti (~) klavyede ü tuşuna basıp altgr tuşuna iki kere basarak veya altgr tuşuna basıp bir ifadeye daha basarak (örneğin h) kullanılabilir.