Di Map C++

Di Map C



Pustaka C++ STL menyediakan kami kelas peta. Peta dianggap sebagai bekas bersekutu yang mengekalkan objek dalam sepasang nilai kunci tersusun dan nilai dipetakan. Tidak boleh ada dua nilai yang dipetakan dengan nilai kunci yang sama. Kelas peta menyediakan banyak fungsi tetapi di sini kita akan membincangkan map.at() fungsi. Elemen yang dipetakan kepada nilai kunci diluluskan sebagai parameter fungsi yang dirujuk menggunakan map.at() fungsi. Apabila kita cuba untuk mendapatkan elemen yang tidak berada dalam julat bekas, map.at() fungsi menilai julat bekas dan membuang pengecualian.

Sintaks fungsi map.at().

Kita perlu mengikut sintaks di bawah untuk melaksanakan fungsi map.at() dalam C++.







Map_variable.at ( kunci / pasangan nilai )



Kami telah menggunakan objek peta yang dinamakan 'Map_variable' dengan di() fungsi. Ia mengembalikan elemen yang dirujuk secara langsung dan menunjuk kepada nilai kunci yang ditentukan. Peta kunci data kebanyakannya bergantung pada julat peta. Jika tidak, terdapat kemungkinan pengecualian atau ralat akan dikembalikan pada masa pelaksanaan yang menandakan bahawa nilai berada di luar julat yang ditentukan. Sekarang, kami akan menggunakan sintaks ini dalam kod C++ untuk menunjukkan bahawa ia berfungsi.



Contoh 1: Menggunakan Fungsi map.at().

Program ini dilaksanakan untuk menunjukkan fungsi map.at. Kami telah menghubungkan di() berfungsi dengan peta() fungsi yang mengambil beberapa nilai input dan menunjukkan fungsinya. Untuk ini, kami telah mengisi bahagian pengepala program dengan mengimport modul peta dengan modul lain yang diperlukan untuk c++. Kemudian, kami telah memanggil utama() fungsi untuk pengisytiharan peta daripada kelas peta. Objek peta dilabelkan sebagai 'MyMap'. Kami mencipta senarai peta dengan memberikan kunci dan nilai peta.





Selepas ini, kami menyeru map.at() fungsi yang memetakan rentetan yang ditentukan kepada integer. Kemudian, kami mencetak hasil daripada map.at() fungsi daripada gelung for. Gelung for menggunakan rujukan kata kunci 'auto'. Kata kunci auto menunjukkan bahawa pemula akan mengalih keluar jenis pembolehubah secara automatik daripada yang diisytiharkan. Penyata cout akan mencetak pasangan dalam susunan yang dikembalikan daripada map.at() fungsi.

#include

#include

#include


int utama ( )

std: :peta < std::string,int > MyMap = {

{ 'epal', 0 } ,

{ 'anggur' , 0 } ,

{ 'Mangga' , 0 } }

MyMap.at ( 'epal' ) = 5 ;

MyMap.at ( 'anggur' ) = 10 ;

MyMap.at ( 'Mangga' ) = 6 ;

untuk ( auto & m: MyMap ) {

std::cout << m.pertama << ': ' << m.saat << '\n' ; }

< kuat > kembali 0 ;

}



Sekarang, kami mempunyai hasil daripada program di atas yang melaksanakan map.at() fungsi. Semua integer yang ditentukan dalam julat dipaparkan pada setiap rentetan.

Contoh 2: Menggunakan Fungsi map.at() untuk Pengecualian di luar_julat

Kami telah membincangkan melalui program contoh penggunaan peta.at fungsi dalam C++. Kini, kami telah melaksanakan satu lagi peta.at dalam program tersebut. Tetapi kali ini ia akan mengembalikan nilai yang dibentangkan di dalam peta dan juga pengecualian luar_daripada apabila kunci tidak ditentukan. Memandangkan kita perlu menggunakan peta.at fungsi, jadi kami telah menambah modul peta dalam pengepala. Kemudian, kami telah menentukan fungsi utama di mana 'kosong' diluluskan sebagai parameter.

Di dalam fungsi utama, kami telah memulakan pembina senarai dengan mencipta objek peta sebagai 'm1'. Senarai peta mempunyai rentetan kunci yang berbeza dan nilai integer terhadapnya. Kemudian, kami mencetak kekunci 'i' dengan menghantarnya melalui peta.at fungsi. Kami telah menggunakan blok cuba-tangkap. Dalam blok cuba, kami telah membentangkan kunci tidak wujud dalam peta.at fungsi. Memandangkan kunci berada di luar julat, jadi blok cuba akan membuang ralat.

#include

#include

menggunakan ruang nama std;

int utama ( batal ) {


peta < char, int > m1 = {

{ 'l' , 1 } ,

{ 'saya' , dua } ,

{ 'n' , 3 } ,

{ 'dalam' , 4 } ,

{ 'x' , 5 } ,

} ;



cout << 'nilai kunci peta m1['i'] = ' << m1.at ( 'saya' ) << endl;



cubalah {

m1.at ( 'Y' ) ;

} tangkap ( const di luar_julat & dan ) {

      cerr << 'Ralat pada' << e.apa ( ) << endl;

}



kembali 0 ;

}

Kita boleh memvisualisasikan daripada tangkapan skrin output bahawa map.at() fungsi hanya mengembalikan kekunci yang ada dalam peta. Kekunci di luar julat membuang ralat kerana ralat dipaparkan apabila kami melepasi kekunci 'y' dalam peta.at fungsi.

Contoh 3: Menggunakan Fungsi map.at() untuk Mengakses Elemen

Elemen boleh diakses menggunakan elemen digit yang ditentukan daripada fungsi map.at. Mari kita laksanakan program ini untuk mencapai kenyataan di atas. Kami telah menentukan modul peta terlebih dahulu dalam bahagian pengepala kerana ia diperlukan untuk mengakses peta.at fungsi. Kemudian, kita mempunyai fungsi utama di mana kelas peta memulakan objek peta sebagai 'Peta'. Dengan objek 'Peta' ini, kami telah menghasilkan kunci rentetan dan memberikan nilai digit kepada mereka. Selepas itu, kami memanggil peta.at fungsi dengan pernyataan cout dan lulus kekunci 'Contoh' sebagai input.

#include

#include

#include

menggunakan ruang nama std;

int utama ( )

{

peta < rentetan, int > Peta;

Peta [ 'saya' ] = 1 ;

Peta [ 'c++' ] = dua ;

Peta [ 'Peta' ] = 3 ;

Peta [ 'Contoh' ] = 4 ;

cout << Peta.at ( 'Contoh' ) ;

kembali 0 ;

}

Elemen digit dikembalikan terhadap kunci yang ditentukan dalam peta.at fungsi. Hasilnya memberikan nilai '4' kerana digit ini diberikan kepada elemen utama 'Contoh' peta.

Contoh 4: Menggunakan Fungsi map.at() untuk Mengubah Suai Elemen

Mari kita pertimbangkan contoh mudah untuk mengubah suai nilai yang dikaitkan dengan nilai kunci. Kami telah mencipta senarai peta dengan memanggil kelas peta dan mencipta objek 'M1'. Kami telah menetapkan nilai rentetan terhadap setiap kunci peta. Kemudian, kita perlu menggunakan peta.at fungsi. Di dalam peta.at fungsi, kami telah menggunakan kunci yang ditentukan dan memberikan nilai rentetan baharu terhadap kunci tersebut. Kini, nilai ini akan diubah suai dengan yang sebelumnya. Dengan bantuan untuk gelung, kami telah mengulangi setiap elemen dari peta dan memaparkannya sebagai output.

#include

#include

#include


menggunakan ruang nama std;


int utama ( )

{

peta < int, rentetan > M1 = {

{ 10 , 'c++' } ,

{ dua puluh , 'java' } ,

{ 30 , 'python' } ,

{ 40 , 'csharp' } ,

{ lima puluh , 'BUKA' } } ;




M1.at ( dua puluh ) = 'Tensorflow' ;

M1.at ( 30 ) = 'Linux' ;

M1.at ( lima puluh ) = 'Scala' ;

cout << ' \n Elemen:' << endl;

untuk ( auto & x: M1 ) {

cout << x.pertama << ': ' << x.saat << '\n' ;

}


kembali 0 ;

}

Perhatikan bahawa nilai yang diperoleh sebagai output telah mengubah suai nilai rentetan yang baru diberikan dalam peta.at fungsi. Nilai yang dikemas kini ditunjukkan dalam petikan di bawah.

Kesimpulan

Artikel adalah mengenai fungsi map.at. Kami telah menyediakan kefungsian fungsi map.at() melalui sintaksnya dan contohnya dilaksanakan dengan pengkompil C++. Fungsi map.at() sangat berguna kerana ia membenarkan kebolehcapaian elemen dan mengembalikan pengecualian atau ralat yang jelas yang menerangkan situasi yang timbul semasa kaedah dipanggil. Tambahan pula, kita boleh menetapkan nilai baharu terhadap kunci kewujudan melalui fungsi map.at.