Referansa geçiş ile C işaretleme notasyonu arasındaki fark nedir?Referans ile & * arasındaki fark nedir?
void some_function(some_type& param)
ve
void some_function(some_type *param)
Teşekkür
Referansa geçiş ile C işaretleme notasyonu arasındaki fark nedir?Referans ile & * arasındaki fark nedir?
void some_function(some_type& param)
ve
void some_function(some_type *param)
Teşekkür
Bir alt yordam çağrısındaki değişkene bir işaretçi ilettiğinizde, bu değişkenin adresi alt programa iletilir. Alt programdaki değişkene erişmek için işaretçinin dereferced olması gerekir.
Bir değişkene yapılan bir başvuruyu ilettiğinizde, derleyici değişken altprograma geçirildiğinde ve altprogramda değişkenin kaldırılması sırasında değişkenin adresini almayı sağlar.
Muhteşem! Bu çok yardımcı olur! –
Bu kesinlikle sözdizimsel bir şeker DEĞİLDİR. Diğer cevaplardan da görebileceğiniz gibi farklılıklar vardır. – SadSido
Bir referans olarak bir takma addır, ikisi arasında çok ince farklar vardır. Aşağıya bakınız. –
Temel olarak, güvenli bir işaretçiyi kendi nesnenizmiş gibi ele alırsınız.
boş bir işaretçiyi atlayarak kolayca boş bir başvuru alabilirsiniz. – Jherico
Bu savunma veya paranoik olan? –
Genellikle bir hata daha vardır: referansınız, yok edilmiş veya hiç bulunmamış bir nesneyi gösterir. Infamous örnek: std :: vektör
Birilerinin burada zaten var olan 1000 öğretici ve açıklamadan birini yeniden üreteceğinden şüphe duyuyorum. http://www.parashift.com/c++-faq-lite/references.html – pmr
Mümkün dupe: http://stackoverflow.com/questions/57483/difference-between-pointer-variable-and -reference-variable-in-c – Jherico
yinelenen: http://stackoverflow.com/questions/1322517/passing-a-modifiable-parameter-to-c-function – SadSido