Bir sınıf vektörü olan studentList'i ülkesine göre algoritma kullanarak nasıl filtreleyebilirim? Anlam sadece ülke "Amerika" dan öğrencilerin detayını gösterir.C++ Bir sınıf vektörünü algoritmayı kullanarak filtrelemek için
struct country_filter
{
country_filter(const std::string& a_country): country(a_country) {}
void operator()(const Student& a_s) const
{
if (country == a_s.country)
{
std::cout << a_s.name << "\n";
}
}
std::string country;
};
//
std::for_each(studentList.begin(), studentList.end(), country_filter("Ireland"));
C++ 11:
bool checkCountry (string x, string y)
{
return (x == y);
}
vector<Student> studentList;
studentList.push_back(Student("Tom", 'M', "91213242", "America"));
studentList.push_back(Student("Jessilyn", 'F', "98422333", "Europe"));
Bunu [silmek-remove deyim] ihtiyacım (http://en.wikipedia.org/wiki/Erase-remove_idiom). –
@Oli - Sadece Amerika Birleşik Devletleri girişlerini kaldırmak istiyorsa. Onu, vektörü korumak istediğini, ancak sadece belirli öğeleri göstermesini istedim. –
Diğer girdileri saklamak zorundayım, böylece silme işlemi işe yaramaz mı? – delphi316