Powiedzmy mam następujący obiekt:Jaki jest najlepszy sposób na zsumowanie wyniku funkcji składowej dla wszystkich elementów w kontenerze?
struct Foo
{
int size() { return 2; }
};
Jaki jest najlepszy sposób (najbardziej utrzymaniu, czytelne, itd.), Aby uzyskać całkowitą size
wszystkich obiektów w vector<Foo>
? Opublikuję moje rozwiązanie, ale interesują mnie lepsze pomysły.
Aktualizacja:
tej pory mamy:
- std :: gromadzić i funktor
- std :: gromadzić i wyrażenie lambda
- zwykły ol”dla pętli
Czy istnieją inne możliwe do zastosowania rozwiązania? Czy możesz stworzyć coś możliwego do utrzymania przy użyciu boost::bind
lub std::bind1st/2nd
?
'std :: wektora vec; vec.size() * 2', ponieważ wiemy, że 'Foo :: size' zawsze zwraca 2. :) –
jalf