Tam olarak pointerlara neden ihtiyaç duyarız?

Bu konuyu okuyanlar

High Noon

Asistan
Katılım
12 Haziran 2017
Mesajlar
353
Reaksiyon puanı
80
Puanları
28
Yaş
37
Merhaba arkadaşlar c++'da yeniyim. Bir verinin bellekte nerede saklandığını bilmek bize ne gibi avantajlar sağlayabilir? Kısacası pointerlara neden ihtiyaç duyarız?
 

defacerGLD

Profesör
Katılım
16 Ocak 2020
Mesajlar
3,329
Reaksiyon puanı
3,067
Puanları
113
Kısaca Söylemek Gerekirse Bir Değişkenin Hafızasındaki Adresini Tutar. Hafıza Dediğimiz Şey RAM'dir. Bu RAM'i Küçük Kutucuklardan Oluşmuş Gibi Düşünebilirsiniz , Bu Her Kutucuk Neredeyse Pointer'lardan Oluşur.


Peki Pointer'lar Bize Ne Kazandıracak ?
Pointer'lar Hız Kazandırmak İçindir. Çünkü Donanım Desteklidir.
 

High Noon

Asistan
Katılım
12 Haziran 2017
Mesajlar
353
Reaksiyon puanı
80
Puanları
28
Yaş
37
Çok işe yarıyormuş meğerse :) Tekrardan teşekkür ederim. Konu kilitlenebilir.
 

Amenofis

Öğrenci
Katılım
27 Aralık 2010
Mesajlar
36
Reaksiyon puanı
9
Puanları
8
Alakası yok arkadaşım niye bilip bilmeden yazıyorsunuz. C'de pointer olmadan ne yapabilirsiniz ki? Misal bir fonksiyon yaz, bu fonksiyon parametre olarak aldığı değişkeni sıfırlasın. Bu kadar basit birşeyi bile pointer olmadan yapabilen varsa yapsın.
 

High Noon

Asistan
Katılım
12 Haziran 2017
Mesajlar
353
Reaksiyon puanı
80
Puanları
28
Yaş
37
Alakası yok arkadaşım niye bilip bilmeden yazıyorsunuz. C'de pointer olmadan ne yapabilirsiniz ki? Misal bir fonksiyon yaz, bu fonksiyon parametre olarak aldığı değişkeni sıfırlasın. Bu kadar basit birşeyi bile pointer olmadan yapabilen varsa yapsın.
O pointer değil reference oluyor diye biliyorum buyurun kod:
void valuechanger(int& val) {
val = 0;
}

bu kadar. Burada val reference oluyor pointer olmuyor diye biliyorum.
 

Amenofis

Öğrenci
Katılım
27 Aralık 2010
Mesajlar
36
Reaksiyon puanı
9
Puanları
8
C'de reference yok. Ayrıca c++'taki ref sadece pointer'ın syntax olarak kolaylaştırılmış bir versiyonu. Yine pointer yani.
 

CapScroLL

Profesör
Katılım
22 Ağustos 2014
Mesajlar
3,657
Reaksiyon puanı
2,683
Puanları
113
Yaş
26

CapScroLL

Profesör
Katılım
22 Ağustos 2014
Mesajlar
3,657
Reaksiyon puanı
2,683
Puanları
113
Yaş
26
Bence reference bir pointer değil. Pointer bir reference olabilir.
C dilinde zaten mümkün C++'da biraz daha karmaşık fakat yine mümkün, bilmiyorum nedense bu ülkede yazılımla ilgilenen insanların çoğunda aşırı ego ve çok bilmişlik var. Aslında 5 dakikasını ayırıp araştırsa tonlarca makale ve örnek kod görecek ama yok zahmet etmiyor...
 

CapScroLL

Profesör
Katılım
22 Ağustos 2014
Mesajlar
3,657
Reaksiyon puanı
2,683
Puanları
113
Yaş
26
Cevaplar nasıl olsa net üzerinde bir yerde var. Forumu kapatalım diyorsunuz?
Ben konu sahibinden bahsetmiyorum, yanlış bilgi verdiği halde "bilip bilmeden yazıyorsunuz" diyen arkadaştan bahsediyorum.
 

Amenofis

Öğrenci
Katılım
27 Aralık 2010
Mesajlar
36
Reaksiyon puanı
9
Puanları
8
Araştırmama gerek yok çünkü ben senelerdir pointer'lara takla attırarak c ve c++ kodu yazıyorum zaten. İnternette bulacağın pointer kodlarından çok daha fazlasını kendim yazmışımdır.
 

CapScroLL

Profesör
Katılım
22 Ağustos 2014
Mesajlar
3,657
Reaksiyon puanı
2,683
Puanları
113
Yaş
26
Araştırmama gerek yok çünkü ben senelerdir pointer'lara takla attırarak c ve c++ kodu yazıyorum zaten. İnternette bulacağın pointer kodlarından çok daha fazlasını kendim yazmışımdır.
O zaman neye dayanarak pointer kullanmadan kod yazılamayacağını söylüyorsunuz? Ben senelerdir C# kodu yazıyorum ama bir kez bile bilmediğim bir şeye yok demedim.
 

Amenofis

Öğrenci
Katılım
27 Aralık 2010
Mesajlar
36
Reaksiyon puanı
9
Puanları
8
Konuyu açan vatandaş c# değil c++ sormuş. C# sorsaydı bişey demezdim çünkü o dili bilmiyorum. C++ ta ise pointer olmadan hello world bile yazılmaz. O kadar da karmaşık birşey değildir bu. Dilin en temel ve basit öğelerinden biridir.
 

CapScroLL

Profesör
Katılım
22 Ağustos 2014
Mesajlar
3,657
Reaksiyon puanı
2,683
Puanları
113
Yaş
26
Konuyu açan vatandaş c# değil c++ sormuş. C# sorsaydı bişey demezdim çünkü o dili bilmiyorum. C++ ta ise pointer olmadan hello world bile yazılmaz. O kadar da karmaşık birşey değildir bu. Dilin en temel ve basit öğelerinden biridir.

Kısaca bu mümkün fakat belirli bir noktaya kadar işe yarıyor.
 

Amenofis

Öğrenci
Katılım
27 Aralık 2010
Mesajlar
36
Reaksiyon puanı
9
Puanları
8
Orada bahsettiği şey pointer'ı direkt olarak kullanmak yerine bir class içine encapsulate edin öyle kullanın diyor. Mesela en basiti unique_ptr var. Bu obje kendisi yok olduğu zaman tuttuğu adresi otomatik olarak free eder. Eğer raw pointer kullansaydın bunu manuel olarak yapman gerekirdi. Sonuç olarak kural değişmez. Ortada bir nesnenin adresi varsa mutlaka onu tutan bir pointer olacaktır.
 

Son mesajlar

Üst