Sunday, 15 March 2015

c++ - STL: std::bind1st for std::unary_function -


AFAIK std :: bind1st एक द्विआधारी functor और एक पैरामीटर लेता है, पहले ही बाध्य पहले पैरामीटर क्या एसटीएल std :: bind1st के समान एक फ़ंक्शन प्रदान करता है, जो एक समान समारोह और पैरामीटर लेता है, और पैरामीटर के बिना फ़ंक्शन देता है?

संपादित करें: मुझे ज़रूरत है सी ++ 11 से पुराने संस्करणों के लिए एक समाधान (मैंने उस टैग को नहीं रखा है)

एक तरह से एक बाइंडर स्वयं लिखना है

  टेम्पलेट & lt; typename फ़ंक्शन, typename ARG_TYPE, typename RETURN_TYPE & gt; Struct bind_it {फ़ंक्शन फ़ंक्शन; ARG_TYPE तर्क; Bind_it (ARG_TYPE मान, फ़ंक्शन F): फ़ंक्शन (f) {argument = value; } RETURN_TYPE ऑपरेटर () () {रिटर्न फ़ंक्शन (तर्क); }};  

मुझे यकीन है कि एक बांधने की मशीन लिखने के लिए बेहतर तरीके हैं

और इसे उपयोग करें

  int f (int i) {return i + 2; } Int main () {bind_it & lt; int (*) (int), int, int & gt; बाध्य (5, च); Int se7en = बाध्य (); }  

No comments:

Post a Comment