C++ haritası üzerinde yineliyorum. İlk 2 dışında haritadaki mevcut tuşları almak istediğimi söyle. Tuşlar haritaya göre sıralanıyor. Dolayısıyla böyle bir şey kullanmanın düşündüm: Bu vektörler ile çalışır rağmenC++ haritalarındaki belirli bir anahtar kümesi üzerinde yineleme nasıl yapılır?
map<int, int> table;
for(auto i = table.begin()+2; i != table.end(); i++)
cout<<i->first<<"\t"<<i->second<<endl;
, bunun nedeni haritalar için uygulanıyor değil '+' operatöre haritalar içeren bir hata verir. Ortaya çıkan sonuçlardan biri şu olabilir:
auto i = table.begin();
int count = 0;
while(count < 2 && i != table.end()){
count++;
i++;
}
for(; i!=table.end(); i++)
cout<<i->first<<"\t"<<i->second<<endl;
Bunu uygulamak için başka etkili bir yol var mı?
okumak için belki biraz daha kolay; haritanın doğru veri yapısı olduğundan emin misin? C++ 'daki harita 'sırasına göre yinelenebilir olur, ama' unordered_map' ile de yapılamayan '' '' '' '' '' '' '' '' '' '' '' '' '*' '*' nin bir noktasını ' Sıralı bir dizi takım (bu daha çok ya da daha öncelikli olan "öncelik_sayısı") olmalı, ancak anahtarlardan değerlere * eşleme * olması. –