Harita C++'da

Harita C Da



C++ STL kitaplığı bize bir harita sınıfı sağlar. Haritalar, nesneleri bir çift sıralı anahtar değerde ve eşlenmiş değerde tutan ilişkisel kaplar olarak kabul edilir. Aynı anahtar değerine sahip iki eşlenmiş değer asla olamaz. Harita sınıfı birçok işlev sağlar ancak burada tartışacağız. harita.at() işlev. Anahtar değerine eşlenen öğe, işlev parametresi kullanılarak başvurulan işlev parametresi olarak iletilir. harita.at() işlev. Kapsayıcının aralığında olmayan bir öğeye ulaşmaya çalıştığımızda, harita.at() işlevi, kapsayıcının aralığını değerlendirir ve bir istisna atar.

map.at() Fonksiyonunun Sözdizimi

Map.at() işlevini C++'da uygulamak için aşağıdaki sözdizimini izlememiz gerekiyor.







Map_variable.at ( anahtar / değer çifti )



“Map_variable” isimli map nesnesini, en() işlev. Doğrudan başvurulan öğeyi döndürür ve belirtilen anahtar değerine işaret eder. Veri anahtarı haritası çoğunlukla haritanın menziline bağlıdır. Değilse, yürütme zamanında değerin tanımlanan aralığın dışında olduğunu gösteren bir istisna veya hata döndürülme olasılığı vardır. Şimdi, çalıştığını göstermek için bu sözdizimini C++ kodlarında kullanacağız.



Örnek 1: map.at() İşlevini Kullanma

Program, map.at işlevini göstermek için uygulanır. bağladık en() ile işlev harita() bazı girdi değerlerini alan ve işlevselliğini gösteren fonksiyon. Bunun için map modülünü c++ için gerekli başka bir modül ile import ederek programın header kısmını doldurduk. Sonra aradık, ana() harita sınıfından harita bildirimi için işlev. Haritanın nesnesi “MyMap” olarak etiketlenir. Harita anahtarını ve değerini vererek haritaların listesini oluşturuyoruz.





Bundan sonra çağrıda bulunduk harita.at() Belirtilen dizeyi bir tamsayıya eşleyen işlev. Ardından, sonuçların çıktısını aldık. harita.at() for döngüsünden fonksiyon. for döngüsü 'auto' anahtar kelime referansını kullanır. auto anahtar sözcüğü, başlatıcının, bildirilenden değişkenin türünü otomatik olarak kaldıracağını belirtir. cout ifadesi, çiftleri, harita.at() işlev.

#include

#include

#include


int ana ( )

standart: :harita < standart::dize,int > Haritam = {

{ 'elma', 0 } ,

{ 'üzüm' , 0 } ,

{ 'Mango' , 0 } }

Haritam.at ( 'elma' ) = 5 ;

Haritam.at ( 'üzüm' ) = 10 ;

Haritam.at ( 'Mango' ) = 6 ;

için ( Oto & m: Haritam ) {

standart::cout << m.ilk << ':' << m.saniye << '\n' ; }

< kuvvetli > dönüş 0 ;

}



Şimdi, yukarıdaki programı uygulayan yukarıdaki programın sonuçlarına sahibiz. harita.at() işlev. Aralıktaki belirtilen tüm tamsayılar, her dizeye karşı görüntülenir.

Örnek 2: out_of_range İstisnası için map.at() İşlevini Kullanma

Kullanımını bir örnek program üzerinden tartıştık. harita.at C++'da işlev. Şimdi bir başkasını hayata geçirdik. harita.at programda. Ancak bu sefer, anahtar belirtilmediğinde haritanın içinde gösterilen değeri ve ayrıca out_of_range istisnasını döndürür. kullanmak zorunda olduğumuz için harita.at fonksiyon, bu yüzden harita modülünü başlığa ekledik. Daha sonra parametre olarak “void”in geçtiği ana fonksiyonu tanımladık.

Ana fonksiyon içerisinde map nesnesini “m1” olarak oluşturarak liste yapıcısını başlattık. Harita listesi, farklı anahtar dizilerine ve bunlara karşı tamsayı değerlerine sahiptir. Daha sonra “i” anahtarını içinden geçirerek yazdırdık. harita.at işlev. Try-catch bloğunu kullandık. Try bloğunda, var olmayan anahtarı sunduk. harita.at işlev. Anahtar aralık dışında olduğundan, try bloğu hatayı atar.

#include

#include

ad alanı std kullanarak;

int ana ( geçersiz ) {


harita < karakter, int > m1 = {

{ 'l' , 1 } ,

{ 'i' , iki } ,

{ 'n' , 3 } ,

{ 'içinde' , 4 } ,

{ 'x' , 5 } ,

} ;



cout << 'harita anahtar değeri m1['i'] = ' << m1.at ( 'i' ) << son;



denemek {

m1.at ( 'E' ) ;

} tutmak ( const out_of_range & ve ) {

sertifika << 'Hata' << e.ne ( ) << son;

}



dönüş 0 ;

}

Çıktı ekran görüntüsünden şunu görselleştirebiliriz: harita.at() işlevi yalnızca haritada bulunan tuşları döndürür. Aralık dışı tuşlar, 'y' anahtarını geçtiğimizde hata görüntülendiği için hatayı atar. harita.at işlev.

Örnek 3: Öğelere Erişmek için map.at() İşlevini Kullanma

Bir öğeye, map.at işlevinden belirtilen basamak öğesi kullanılarak erişilebilir. Yukarıdaki ifadeyi gerçekleştirmek için bu programı uygulayalım. Harita modülüne erişmek için gerekli olduğu için ilk olarak başlık bölümünde harita modülünü tanımladık. harita.at işlev. Ardından, map sınıfının map nesnesini “Map” olarak başlattığı ana fonksiyona sahibiz. Bu “Map” nesnesi ile dizilerin anahtarlarını oluşturduk ve onlara rakamın değerini atadık. Ondan sonra aradık harita.at cout ifadesine sahip bir işlev ve girdi olarak “Örnek” anahtarını geçti.

#include

#include

#include

ad alanı std kullanarak;

int ana ( )

{

harita < dize, int > Harita;

Harita [ 'Benim' ] = 1 ;

Harita [ 'c++' ] = iki ;

Harita [ 'Harita' ] = 3 ;

Harita [ 'Örnek' ] = 4 ;

cout << Map.at ( 'Örnek' ) ;

dönüş 0 ;

}

Rakam öğesi, belirtilen anahtara karşı döndürülür. harita.at işlev. Bu rakam bir haritanın “Örnek” anahtar öğesine atandığı için sonuç “4” değerini verir.

Örnek 4: Öğeleri Değiştirmek için map.at() İşlevini Kullanma

Anahtar değerle ilişkili değeri değiştirmenin basit bir örneğini ele alalım. Harita sınıfını çağırarak ve “M1” nesnesini oluşturarak haritanın listesini oluşturduk. Dize değerini haritanın her bir anahtarına atadık. O zaman, kullanmak zorundayız harita.at işlev. İçinde harita.at fonksiyonunda belirtilen tuşları kullandık ve bu tuşlara karşı yeni string değerleri atadık. Şimdi, bu değerler bir öncekiyle değiştirilecektir. For döngüsünün yardımıyla, haritadaki her öğeyi yineledik ve çıktı olarak gösterdik.

#include

#include

#include


ad alanı std kullanarak;


int ana ( )

{

harita < int, dize > M1 = {

{ 10 , 'c++' } ,

{ yirmi , 'java' } ,

{ 30 , 'piton' } ,

{ 40 , 'keskin' } ,

{ elli , 'AÇIK' } } ;




M1.at ( yirmi ) = 'Tensor akışı' ;

M1.at ( 30 ) = 'Linux' ;

M1.at ( elli ) = 'Skala' ;

cout << ' \n Elementler:' << son;

için ( Oto & x: M1 ) {

cout << x.ilk << ':' << x.saniye << '\n' ;

}


dönüş 0 ;

}

Çıktı olarak elde edilen değerlerin, yeni atanan dize değerlerini değiştirdiğine dikkat edin. harita.at işlev. Güncellenen değerler aşağıdaki anlık görüntüde gösterilmektedir.

Çözüm

Makale map.at işlevi hakkındadır. map.at() işlevinin işlevselliğini sözdizimi aracılığıyla sağladık ve örnek, C++ derleyicisi ile uygulandı. map.at() işlevi, öğe erişilebilirliğine izin verdiği ve yöntem çağrılırken ortaya çıkan durumu açıklayan açık bir istisna veya hata döndürdüğü için oldukça kullanışlıdır. Ayrıca map.at fonksiyonu ile varlık anahtarına yeni değerler atayabiliriz.