C++???????????
?????PhiliAI ???????[ 2016/9/5 10:25:12 ] ??????????????????? ???? ???
??????. bind???????
???????????濴??lambda????????????????????Щ??????ν???????????????????????????????????lambda?????ν??????????????ú???????????????????????????????????????bind??????C++11 Feature????????????????functional???棩??
?????????????bind??????Щ??????????????????????ú??????????????????????????????????????????????????????????????????????????????
????1 bool findMin(const int &a?? const int &value)
????2 {
????3 return a >= value;
????4 }
????5 segFloorIndex = find_if(nums.begin()?? nums.end()?? bind(findMin?? _1?? floorSize));
????6 segCeilIndex = find_if(nums.begin()?? nums.end()?? bind(findMin?? _1?? ceilSize));
????????_1??????????_2??_3....???????????λ?????е?????????????????std??placeholders????????????????????????????????????????????????????_1??_2...?У?????????е??????G??????auto G= bind(f?? _2?? a?? _1 )??????G(x??y)???????f(Y??a??x )???????????????????λ?????
??????Щ????bind?????????????????????????????????????????????????ref???????????????????????????cref???????????????????????functional???????У???
??????. ????????????÷?????
????C++????????????????????????????????retType operator( )(parameter...){ }???????????????????????÷????????????????????????????????????????磺
????1 class FunctonalClass
????2 {
????3 public:
????4 bool operator()(const int &a?? const int &value)
????5 {
????6 return a >= value;
????7 }
????8 };
????????????????????????????д??????????????lambda??????????ú??????lambda??????????????????÷????????????????????????lamba?????????????飬??????3??lambda???????????????
????1 class AnonymityFunctional
????2 {
????3 public:
????4 AnonymityFunctional(const int &v) :value(v) { }
????5 bool operator()(const int &a) const { return a >= value; }
????6 private:
????7 const int &value;
????8 };
?????????????
????segFloorIndex = find_if(nums.begin()?? nums.end()?? AnonymityFunctional(floorSize));
????segCeilIndex = find_if(nums.begin()?? nums.end()?? AnonymityFunctional(ceilSize));
????lambda???????????????????????????????????????????????????????????????????????????????????????????
??????????????????????functional?????????????????????????????????????????????壬????greator<T>??
????????std::function????????????????
???????????5????????????????????????Щ??????????????????????????????????Щ??????????????????????Щ?????????????????????????????????????????????????????????function<T>??
?????????????????function????????
????std::function<bool(const int &)>
????????????????????緵?????bool???β??const int&????????????????lambda????????????????????
????1 bool fcn(const int &a){ return a; }
????2
????3 class FunctionTest
????4 {
????5 public:
????6 FunctionTest() = default;
????7
????8 bool getWhat(const int &a)const { return true; }
????9 bool getS()const { return true; }
????10 };
????11
????12 std::function<bool(const int &)> f1 = [](const int &a) { return a ; };
????13 std::function<bool(const int &)> f2 = Test();
????14 std::function<bool(const int &)> f3 = fcn;
??????????????Щ???????map???棬??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????function??
????1 bool fcn() { return true; }
????2 bool fcn(const int &a){ return a; }
????3
????4 bool(*pfcn)(const int &) = fcn;
????5 std::function<bool(const int &)> f3 = pfcn;
????????????????????????????????????
???????????????????????????????Qt????????????????????????д????????SIGNAL??SLOT??????????д???????????к???????????????????????????????????????????????????????????????????????????????????????????*.??????->*????????????????????????????????????????????????????????????????function????bind?????????????????
??????????????????????е???????????÷????????????????????????
????1 class FunctionTest
????2 {
????3 public:
????4 FunctionTest() = default;
????5
????6 bool getWhat(const int &a)const { return true; }
????7 bool getS()const { return true; }
????8 };
???????????????????????????????????????getWhat
????1 FunctionTest haha?? *phaha = &haha;
????2
????3 bool (FunctionTest::*pf)(const int &) const;//???????????
????4 pf = &FunctionTest::getWhat;//???????????????
????5
????6 auto ret = (haha.*pf)(floorSize);
????7 auto ret1 = (phaha->*pf)(ceilSize);
????*.??->*??????????????????*.?????????->*???????????????????????????????????????????????????????????????????????????
??????????????д???????????к??????????????????к???????????auto?????????~
????auto pf = &FunctionTest::getWhat;
???????????????????????fcuntion???????????????????????????????????
????std::function<bool(const FunctionTest *?? const int &)> f4(&FunctionTest::getWhat);
???????????????????????????????????????????????????????????????????????????????????????????——??????????????????????????????????????????????this???????????????????????????function????????????????????????????????find_if??
????????????????????????????????????function??????????????????????????mem_fn
????auto f = std::mem_fn(&FunctionTest::getWhat);
????????????????f??function???????????????f??????????find_if?????????????this???????getWhat????????ν???f4?????????
???????????????????????漰???????????????????SPASVOС??(021-61079698-8054)?????????????????????????
??????
??C++????????????C++ lvalue??rvalueC++11????????C++???????????????C++?е?????????????????C++?????????C++???Windows????λ??C/C++???????????????????JAVA??C??C++??????????c++??python???????????????????????????????C++???????C++?е????????C++????????????????C++ ???????????????C++?????????????????????C++????????????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11????????
?????????App Bug???????????????????????Jmeter?????????QC??????APP????????????????app?????е????????jenkins+testng+ant+webdriver??????????????JMeter????HTTP???????Selenium 2.0 WebDriver ??????