Wpis z mikrobloga

#programowanie #cpp

Hmm, myślę właśnie jak zrobić szablon funkcji sumującej N pierwszych elementów dowolnego pojemnika STL. Można to dosyć prosto zrobić iteratorem. Tylko jeden problem - co zrobić z mapą, która nie zwraca jednego konkretnego obiektu możliwego do zsumowania tylko pair?
  • 25
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@KrzaQ2: Czyli musiałbym zrobić jakąś funkcję, która jeśli typ jest mapą to to wywleka spod second a jak nie to dodaje? Jakby to wyglądało?
  • Odpowiedz
@kuhar: pisał o STLu ;) Stąd polecam tag dispatch, łatwo będzie dodać przeładowania dla nowych typów, albo sprawdzanie czy value_type jest parą/tuplem.
  • Odpowiedz
@Khaine: nie ma, iteruję po całym kontenerze nie więcej niż n razy. Można na to asserta dać (na przypadek, że i < n po wyjściu z fora). (a żeby pedantyzmu stało się zadość - iterator jest ukryty w forze - w kodzie wygenerowanym przez kompilator).
  • Odpowiedz
@kuhar: Ale sprytne s-----------o. To wynika tylko z auto? Stosowałem auto dla wygody, ale nie pomyślałem o aż takim chamskim skrótowaniu tym.
  • Odpowiedz