Dizi, liste ve harita sınıfları

Toplamları veri işleme için sınıf kitaplığı, koleksiyon sınıfları bir dizi sağlar — diziler, listeleri ve "eşler" — nesne ve önceden tanymlanmy? türlerden çeşitli basılı. Koleksiyonları dinamik olarak boyutlandırılır. Bu sınıflar, ya da değil Windows için yazılmış olup, herhangi bir programda kullanılabilir. Ancak, bunlar en uygulama çerçevesinde, belge sınıfları tanımlayan veri yapılarını uygulamak için yararlıdır. Bu özel koleksiyon sınıfları kolayca elde edebilirsiniz veya şablon sınıflarına göre oluşturabilirsiniz. Bu yaklaşımlar hakkında daha fazla bilgi için bkz: yazı Koleksiyon Visual c++ programlama Kılavuzu ve Diziler, listeleri ve haritalar için şablon sınıfları bu genel şablon koleksiyon sınıfları listesi.

Diziler bitişik bellekte depolanan tek boyutlu veri yapılarıdır. Herhangi bir belirli öğeyi bellek adresi öğesinin öğe boyutu ile çarparak ve dizi temel adresine sonucu ekleyerek hesaplanabilir beri onlar çok hızlı rasgele erişim desteği. Ama dizi öğelerini diziye eklemek zorunda kalırsanız, geçmiş tüm dizi beri eklenecek öğeyi açmak için Taşınacak eklenen öğe vardır çok pahalıdır. Diziler büyümeye ve gerektiğinde shrink.

Listeleri dizilerinin benzeyen, ancak farklı saklanır. Listesindeki her öğenin de iki kat bağlantılı liste yapmadan önceki ve sonraki elemanları, bir işaretçi içerir. Eklemek veya çünkü böylece sadece birkaç işaretçileri değiştirme içerir öğeleri silmek için çok hızlıdır. Tüm aramalar bir listenin etraf vasıl başlamak gerekir ancak listesi arama pahalı olabilir.

Haritalar, veri değeri için bir anahtar değeri ile ilgilidir. Örneğin, bir harita anahtarı bir dize ve bir işaretçi bir listede veri olabilir. İşaretçiyi belirli bir dize ile ilişkili size harita rica ediyorum. Çünkü haritalar karma tablo için anahtar aramaları göster aramaları hızlı. Ekleme ve silme maddeleri de hızlıdır. Haritalar genellikle diğer veri yapıları ile yardımcı indis kullanılır. mfc kullandığı harita denilen özel bir tür bir " iletisi göster" Windows iletileri için ileti işleyicisi işlevi için bir işaretçi eşlemek için.

Index