मान लें कि मेरे पास निम्न ऑब्जेक्ट है:कंटेनर में सभी तत्वों के लिए सदस्य फ़ंक्शन के परिणाम को योग करने का सबसे अच्छा तरीका क्या है?
struct Foo
{
int size() { return 2; }
};
vector<Foo>
में सभी ऑब्जेक्ट्स का कुल size
प्राप्त करने का सबसे अच्छा तरीका (सबसे रखरखाव योग्य, पठनीय, आदि) क्या है? मैं अपना समाधान पोस्ट करूंगा लेकिन मुझे बेहतर विचारों में दिलचस्पी है।
अद्यतन:
अब तक हमारे पास है:
- std :: संचय और एक मज़ेदार
- std :: संचय और एक लैम्ब्डा अभिव्यक्ति
- plain ol for for lop
क्या कोई अन्य व्यावहारिक समाधान है? क्या आप boost::bind
या std::bind1st/2nd
का उपयोग करके कुछ बनाए रखने योग्य बना सकते हैं?
'std :: वेक्टर vec के लिए सीमा के आधार पर; vec.size() * 2', क्योंकि हम जानते हैं कि 'Foo :: size' हमेशा 2 देता है। :) –
jalf