SORU
28 Kasım 2008, Cuma


STL haritalar, harita kullanmak daha iyi olur::Ekle daha []?

Bir süre önce, STL değerleri ekleme hakkında bir meslektaşım maps ile bir tartışma vardı. Tercih ettim map[key] = value; doğal bir his ve net tercih etti oysa okumak çünkü map.insert(std::make_pair(key, value))

Ben sadece sordum ve ikimiz de Ekle daha iyi olur nedenini hatırlayamıyorum, ama verimliliği gibi teknik bir neden yoktu, sadece daha çok stil bir tercih değildi eminim. SGI STL reference sadece "açık konuşmak gerekirse, bu üye işlevi gereksiz: kolaylık için var." diyor

Bunu birisi bana neden söyleyebilir, ya da sadece bir rüya mı?

CEVAP
29 Kasım 2008, CUMARTESİ


Yazarken

map[key] = value;

sen olmadığını anlamanın yolu yokyerini aldıkey, valueyarattıvalue key yeni.

map::insert() sadece oluşturur:

using std::cout; using std::endl;
typedef std::map<int, std::string> MyMap;
MyMap map;
// ...
std::pair<MyMap::iterator, bool> res = map.insert(std::make_pair(key,value));
if ( ! res.second ) {
    cout << "key " <<  key << " already exists "
         << " with value " << (res.first)->second << endl;
} else {
    cout << "created key " << key << " with value " << value << endl;
}

Uygulamalarım çoğu için, ben genellikle eğer oluşturma veya değiştirme olmam önemli değil, map[key] = value okumak için daha kolay kullanıyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Felice Musique

    Felice Musiq

    22 NİSAN 2014
  • Kassem G

    Kassem G

    25 EKİM 2006
  • tunez4you

    tunez4you

    20 EKİM 2008