SORU
30 Ocak 2011, Pazar


Nasıl c ile bir harita döngü

Nasıl c aradım bir harita döngü ki ama hiçbiri benim için çalışmıyor gibi görünüyor. Benim göster şu şekilde tanımlanmıştır

std::map< std::string, std::map<std::string, std::string> >

Örneğin bu veri tutar:

m["name1"]["value1"] = "data1";
m["name1"]["value2"] = "data2";
m["name2"]["value1"] = "data1";
m["name2"]["value2"] = "data2";
m["name3"]["value1"] = "data1";
m["name3"]["value2"] = "data2";

Nasıl bu harita döngü ve çeşitli değerleri erişebilirim.

CEVAP
7 Aralık 2014, Pazar


Ama kalan eski soru cevap C 11 - sadece yapabilirsiniz modası geçmiş

std::map< std::string, std::map<std::string, std::string> > mymap

for(auto const &ent1 : mymap) {
  // ent1.first is the first key
  for(auto const &ent2 : ent1.second) {
    // ent2.first is the second key
    // ent2.second is the data
  }
}

bu önceki sürümlere göre çok daha temiz olmalı ve gereksiz kopyaları önler.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kevin Bruckert

    Kevin Brucke

    30 Aralık 2006
  • LinusTechTips

    LinusTechTip

    25 Kasım 2008
  • UrAvgConsumer

    UrAvgConsume

    1 Ocak 2012