SORU
7 ŞUBAT 2010, Pazar


C STL set update sıkıcı:'t bir öğe değiştirebilirim

cppreference Böyle bir API yok beri sette güncelleme işlemi sıkıcı buluyorum. Yani ben şu anda ne böyle heyecanla beklediğim

//find element in set by iterator
Element copy = *iterator;
... // update member value on copy, varies
Set.erase(iterator);
Set.insert(copy);

Temelde Kümesi tarafından yineleyici döndürür bir const_iterator değeri doğrudan değiştiremezsiniz.

Daha iyi bir yolu bunu yapmak için vardır? Ya da belki de benim kendi oluşturarak set override etmeliyim.. tam olarak nasıl çalıştığını bilmiyorum

Teşekkürler!

CEVAP
7 ŞUBAT 2010, Pazar


set verir inş kullanımına (standart diyor set::yineleyici olur inş, ve set::const_iterator ve set::yineleyici olabilir aslında aynı tip bakın 23.2.4/6 n3000.pdf) çünkü düzenli bir konteyner. Eğer düzenli bir yineleyici döndü, kalemleri değeri kabın altında, sipariş değiştirme potansiyel olarak değiştirmek için izin istiyorum.

Çözüm kümesi öğeleri değiştirmek için deyimsel yoludur.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • How Things Are Made

    How Things A

    17 HAZİRAN 2008
  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • SomeOne Pro

    SomeOne Pro

    25 EKİM 2013