• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

próba uzyskania nr. komórki wektora klas

0 głosów
49 wizyt
pytanie zadane 11 października 2018 w C i C++ przez omone Nowicjusz (150 p.)

Dzień dobry,
mój problem polega na tym, iż posiadam wektor klas oraz funkcje odnajdującą dany element wektora
jednak zwraca ona sam obiekt
 

zwierze kontener_zwierzat1::find(string i)
{
    for (auto a : vec)
    {
        if (a.imie == i)
        {
            return a;
        }
    }
}


muszę wyszukiwać obiekty po ich nazwie dla tego potrzebuję aby zwracała ona nr. komórki, w której znajduje się obiekt by móc go usunąć.

1 odpowiedź

+1 głos
odpowiedź 11 października 2018 przez RafalS VIP (106,620 p.)
wybrane 11 października 2018 przez omone
 
Najlepsza

Użyj gotowej metody z nagłówka algorithm:

auto element = std::find(vec.begin(),vec.end(), str);

która zwróci Ci iterator, który przekażesz do:

vec.erase(element);

Jeśli natomiast bardzo zależy Ci na samym indeksie to zrób w ten sposób:

	for (size_t i = 0;i<vec.size();++i)
	{
		if (vec[i].imie == str)
		{
			return i;
		}
	}

Albo bardziej bibliotecznie:

	auto it = std::find(vec.begin(), vec.end(), str);
	if (it == vec.end()){
		// str not in vector
	}
	else{
		auto index = std::distance(vec.begin(), it);
	}

 

komentarz 11 października 2018 przez omone Nowicjusz (150 p.)
dziękuje bardzo za odpowiedź to była duża pomoc

Podobne pytania

0 głosów
1 odpowiedź 77 wizyt
pytanie zadane 7 grudnia 2016 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 62 wizyt
pytanie zadane 5 kwietnia w C i C++ przez poldeeek Użytkownik (650 p.)
0 głosów
1 odpowiedź 46 wizyt
pytanie zadane 22 marca w C i C++ przez poldeeek Użytkownik (650 p.)
Porady nie od parady
Komentarze do pytań nie służą do odpowiadania, od tego jest wydzielona sekcja odpowiedzi. Funkcją komentarzy jest natomiast możliwość uzyskania dodatkowych informacji na temat samego posta.Komentarze

62,317 zapytań

108,448 odpowiedzi

226,391 komentarzy

35,104 pasjonatów

Przeglądających: 245
Pasjonatów: 18 Gości: 227

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...