Thread overview
map<> ın D deki karşılığı
Feb 06, 2013
huseyin
Feb 06, 2013
huseyin
Feb 06, 2013
huseyin
February 06, 2013
struct Scoping{
 map<string, SimpleDataInfo> SimpleDataTypes;
 map<string, ArrayDataInfo>  ArrayDataTypes;
 map<string, TypeDataInfo>   Types;
 map<string, UDTDataInfo>    UDTDataTypes;
 map<string, SubFunctionInfo>SubFunctions;
};

Yukarıdaki yapı herkesinde gördüğü gibi bir c++ yapısı ancak ben bu map<> ı D ye nasıl uyarlayabilirim karşılığı nedir ?

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

February 06, 2013

Evet sanırım burda yapmaya çalıştıkları eşleme tablolarını taklit etmek olmuş. Bunların yerine eşleme tablosu veri yapısını kullansam sanırım yeterli olacak. Peki bir soru daha soracağım vector<> ne işe yarar?
Teşekkür Ederim

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

February 06, 2013

Çok teşekkür ederim hocam. D dizileri ve stringleri yönünden gerçekten güçlü bir dil.

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

February 06, 2013

C++'ın map'i bir sıralı ağaçtır. Tam olarak da Phobos'taki RedBlackTree'ye karşılık gelir:

http://dlang.org/phobos/std_container.html#.RedBlackTree

Ne yazık ki o modülün kullanımı biraz gariptir. Umarım işine yarar.

Ama ona gitmeden önce gerçekten de map'in eşdeğerine gerek olup olmadığına bakmak gerek. Çoğu insan map'i D'nin eşleme tabloları (associative array) gibi kullandığı için map'e çoğu durumda gerek yok.

Aslında çoğu insanın map'i kullanmasının nedeni, hash table veri yapısının C++'ın standart kütüphanesine şanssızlık sonucu girememesidir. Girebilseydi çoğu durumda map değil, o kullanılırdı. (Hash table, C++'a sonradan std::unordered_set (ve unordered_map) olarak geldi.)

Ali

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

February 06, 2013

Alıntı (huseyin325325):

>

Bunların yerine eşleme tablosu veri yapısını kullansam sanırım yeterli olacak.

Aralarındaki farkı aklında tuttuğun sürece: elemanlar eşleme tablolarında sıralı değildir, map'te sıralıdır.

Alıntı:

>

Peki bir soru daha soracağım vector<> ne işe yarar?

Gerektikçe otomatik olarak büyüyen dizi gerçekleştirmesi. D'nin dizileri ona gerek bırakmıyor.

Ali

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