Thread overview
unnamed namespaces vs static
Dec 16, 2018
hsencan
Dec 17, 2018
hsencan
Dec 19, 2018
kerdemdemir
December 16, 2018

Merhabalar, isimsiz namespace ile static tanımlamanın arasındaki farklar nelerdir ? Ve hangisini nerede kullanmak daha uygun olur ? İnternette biraz araştırdığımda external linkage ve internal linkage konusundan bahsetmişler. Ben bunları da bilmediğim için anlamadım açıkçası. Ve Hemen buraya geldim :)

Şimdiden Teşekkürler.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 17, 2018

Alıntı (acehreli):

>

Tek fark, kullanıcı türlerinin static ile gizlenememesi imiş. Yani, değişkenler ve işlev tanımları için bir fark yok ama bir struct, union, enum, veya class tanımlayacaksam ve o tür yalnızca bu derleme biriminde kullanılacaksa anonymous namespace gerekiyor.

Ali

Hocam öncelikle cevabınız için teşekkürler. Burada bahsettiğiniz "static ile gizlemek" ne anlama geliyor ? Ve bunun bize sağladığı avantaj/dezavantaj nedir ?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 17, 2018

Ben nedenini artık hatırlamadan, salt var diye hep anonymous namespace kullanıyorum. Şimdi baktım: Tek fark, kullanıcı türlerinin static ile gizlenememesi imiş. Yani, değişkenler ve işlev tanımları için bir fark yok ama bir struct, union, enum, veya class tanımlayacaksam ve o tür yalnızca bu derleme biriminde kullanılacaksa anonymous namespace gerekiyor.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 18, 2018

Genel kurallardan birisi, sembollerin geçerli oldukları kapsamların olabildiğince küçük olmasıdır. Bunun nedenlerinden birisi, isim çakışmalarını engellemektir. Örneğin, yalnızca bir kaynak dosyada kullanılan foo() işlevinin başkaları tarafından bilinmesi ve başka dosyalardaki foo() işlevleriyle çakışması istenmez.

Başka bir neden, kodu okuyanlara yardımcı olmaktır: static olan (veya isimsiz isim alanı içinde bulunan) bir sembolün başkaları tarafından kullanılmadığını anlarız.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 20, 2018

Gereksiz bilinc alti bilgileri veriyim bende

Soyle bir anlayis var benim gordugum, isimsiz isim alani kullaninca havali C++ gelistirmecisi etiketi yapistiriliyor.
Static yazinca C gelistirmecisi etiketi yapistiriliyor.

Senin bu durumu sorgulaman ve sorman bence cok iyi. Senin supheci ve merakli kisiligini gosteriyor.

Erdemdem

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]