Sisipkan lwn. Notasi Kurungan dalam Peta STL
Dalam peta STL, pilihan antara menggunakan peta::insert dan notasi kurungan (peta [kunci] = nilai) untuk sisipan nilai sering menjadi topik perdebatan. Walaupun sisipan tuntutan dokumentasi rujukan hanya berfungsi sebagai kemudahan, persoalannya tetap: adakah terdapat kelebihan sebenar untuk menggunakan satu daripada yang lain?
Peta::masukkan vs. Notasi Kurungan
Fungsi map::insert secara eksplisit menambah pasangan nilai kunci pada peta dan mengembalikan pasangan yang menunjukkan sama ada sisipan berjaya dan, jika tidak, iterator menunjuk ke kunci sedia ada. Sebaliknya, notasi kurungan memberikan nilai kepada kunci, dan jika kunci itu tidak wujud, ia dicipta dan nilai diberikan kepadanya.
Kelebihan Teknikal Peta::masukkan
Kelebihan teknikal map::insert terletak pada sifat eksplisitnya. Tidak seperti notasi kurungan, yang tidak dapat membezakan antara kemas kini nilai dan ciptaan kunci, map::insert memastikan bahawa operasi itu adalah sisipan. Ini boleh berguna dalam senario di mana anda perlu mengendalikan kedua-dua senario secara berasingan, seperti yang ditunjukkan oleh contoh berikut:
<code class="cpp">std::map<int, std::string> map; std::pair<std::map<int, std::string>::iterator, bool> res = map.insert(std::make_pair(key, value)); if (!res.second) { std::cout << "Key " << key << " already exists with value " << (res.first)->second << "\n"; } else { std::cout << "Created key " << key << " with value " << value << "\n"; }</code>
Coretan kod ini memastikan bahawa apabila anda menggunakan map::insert, anda jelas sama ada anda mencipta kunci baharu atau mengemas kini kunci sedia ada. Ia amat berguna apabila berurusan dengan senario di mana pengendalian kedua-dua kes secara berbeza adalah penting. Walau bagaimanapun, untuk kes penggunaan biasa di mana perbezaan tidak diperlukan, tatatanda kurungan yang lebih ringkas selalunya lebih diutamakan.
Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan `map::insert` vs. Notasi Kurungan dalam Peta STL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!