{"id":1961,"date":"2022-12-06T12:03:05","date_gmt":"2022-12-06T04:03:05","guid":{"rendered":"https:\/\/courtship.top\/?p=1961"},"modified":"2022-12-06T12:03:05","modified_gmt":"2022-12-06T04:03:05","slug":"%e5%87%bd%e6%95%b0%e5%af%b9%e8%b1%a1-%e4%bb%bf%e5%87%bd%e6%95%b0","status":"publish","type":"post","link":"https:\/\/courtship.top\/index.php\/2022\/12\/06\/%e5%87%bd%e6%95%b0%e5%af%b9%e8%b1%a1-%e4%bb%bf%e5%87%bd%e6%95%b0\/","title":{"rendered":"\u51fd\u6570\u5bf9\u8c61 \u4eff\u51fd\u6570"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u6982\u5ff5<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u91cd\u8f7d\u51fd\u6570\u8c03\u7528\u64cd\u4f5c\u7b26\u7684\u7c7b\uff0c\u5176\u5bf9\u8c61\u79f0\u4e3a\u51fd\u6570\u5bf9\u8c61<\/li>\n\n\n\n<li>\u51fd\u6570\u5bf9\u8c61\u4f7f\u7528\u91cd\u8f7d\u7684\uff08\uff09\u65f6\uff0c\u884c\u4e3a\u7c7b\u4f3c\u51fd\u6570\u8c03\u7528\uff0c\u4e5f\u53eb\u4eff\u51fd\u6570<\/li>\n\n\n\n<li>\u672c\u8d28\u662f\u4e00\u4e2a\u7c7b<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">1.\u53ef\u4ee5\u50cf\u666e\u901a\u51fd\u6570\u4e00\u6837\u8c03\u7528 \u6709\u8fd4\u56de\u503c \u6709\u53c2\u6570\u5217\u8868<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class AddClass\n{\npublic:\n    int operator()(int v1, int v2) \/\/\uff08\uff09\u91cd\u8f7d\n    {\n        return v1 + v2;\n    }\n};\n\nvoid test()\n{\n    AddClass MyAdd;\n    cout &lt;&lt; MyAdd(10, 10);\n}\nmain()\n{\n    test();\n    return 0;\n}\n\n\/\/20<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u51fd\u6570\u5bf9\u8c61\u8d85\u51fa\u666e\u901a\u51fd\u6570\u7684\u6982\u5ff5 \u53ef\u4ee5\u62e5\u6709\u81ea\u5df1\u7684\u72b6\u6001 \u6bd4\u5982\u8ba1\u6570\u5668<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class PrintClass\n{\npublic:\n    int count;\n    PrintClass()\n    {\n        count = 0;\n    }\n    void operator()(string test)\n    {\n        cout &lt;&lt; test &lt;&lt; endl;\n        count++;\n    }\n};\n\nvoid test()\n{\n    PrintClass MyPrint;\n    MyPrint(\"ahhhhh\");\n    MyPrint(\"ahhhhh\");\n    MyPrint(\"ahhhhh\");\n    MyPrint(\"ahhhhh\");\n\n    cout &lt;&lt; MyPrint.count &lt;&lt; endl;\n}\n\nmain()\n{\n    test();\n    return 0;\n}\n\n\/\/4<\/code><\/pre>\n\n\n\n<p>\u666e\u901a\u51fd\u6570\u65e0\u6cd5\u505a\u5230 \u56e0\u4e3a\u8fd9\u662f\u4e00\u4e2a\u7c7b<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u51fd\u6570\u5bf9\u8c61\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u6570\u4f20\u9012<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class PrintClass\n{\npublic:\n    void operator()(string test)\n    {\n        cout &lt;&lt; test &lt;&lt; endl;\n    }\n};\n\nvoid doPrint(PrintClass &amp;mp, string test)\n{\n    mp(test);\n}\n\nvoid test02()\n{\n    PrintClass MyPrint2;\n    doPrint(MyPrint2, \"Hello CPP\");\n}\nmain()\n{\n    test02();\n    return 0;\n}<\/code><\/pre>\n\n\n\n<p>\u56e0\u4e3a\u91cd\u8f7d\u4e86()\uff0c\u6240\u4ee5\u53ef\u4ee5\u5728\u6b63\u5e38\u51fd\u6570\u4e0a\u4f7f\u7528\u5979\u505a\u53c2\u6570\uff0c\u518d\u5728\u8fd9\u4e2a\u51fd\u6570\u51fd\u6570\u4f53\u91cc\u7528\u7c7b\u5bf9\u8c61\u672c\u8eab()\u7684\u91cd\u8f7d\u653e\u5165\u53c2\u6570\u5b9e\u73b0\u3002<\/p>\n\n\n\n<p>\u5c31\u662f\u611f\u89c9\u8fd9\u6837\u505a\u633a\u590d\u6742\u7684\u2026\u4e0d\u77e5\u9053\u6548\u7387\u6709\u591a\u9ad8<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u8c13\u8bcd<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8fd4\u56debool\u7c7b\u578b\u7684\u4eff\u51fd\u6570\u6210\u4e3a\u8c13\u8bcd<\/li>\n\n\n\n<li>\u5982\u679coperator()\u91cc\u63a5\u6536\u4e00\u4e2a\u53c2\u6570 \u53eb\u505a\u4e00\u5143\u8c13\u8bcd<\/li>\n\n\n\n<li>\u63a5\u6536\u4e24\u4e2a\u53eb\u4e8c\u5143\u8c13\u8bcd<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e00\u5143\u8c13\u8bcd<\/h3>\n\n\n\n<p>\u6982\u5ff5\uff1a\u643a\u5e26\u4e00\u4e2a\u53c2\u6570\u7684\u4eff\u51fd\u6570\u4e14\u8fd4\u56de\u7c7b\u578b\u4e3abool\u7684\u4eff\u51fd\u6570<\/p>\n\n\n\n<p>\u5b9e\u73b0\uff1a\u5728operator()\u91cd\u8f7d\u65f6\u53ea\u6709\u4e00\u4e2a\u53c2\u6570<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class GreaterFive\n{\npublic:\n    bool operator()(int val)\n    {\n        return val &gt; 5;\n    }\n};<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>void test01()\n{\n    vector&lt;int&gt; v;\n    for (int i = 0; i &lt; 10; i++)\n    {\n        v.push_back(i);\n    }\n\n    \/\/\u67e5\u627e\u5bb9\u5668\u4e2d \u6709\u6ca1\u6709\u5927\u4e8e5\u7684\u6570\u5b57\n    vector&lt;int&gt;::iterator it = find_if(v.begin(), v.end(), GreaterFive());\n    if (it == v.end())\n    {\n        cout &lt;&lt; \"not found\" &lt;&lt; endl;\n    }\n    else\n    {\n        cout &lt;&lt; \"found\" &lt;&lt; *it &lt;&lt; endl;\n    }\n}\n\nint main()\n{\n    test01();\n\n    return 0;\n}\n\n\/\/found6<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e8c\u5143\u8c13\u8bcd<\/h3>\n\n\n\n<p>\u5c31\u662f\u4e24\u4e2a\u53c2\u6570 \u6ca1\u4ec0\u4e48\u597d\u8bf4\u7684..<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class GreaterFive\n{\npublic:\n    bool operator()(int val1, int val2)\n    {\n        return val2 &gt; val1;\n    }\n};\n\nvoid test01()\n{\n    vector&lt;int&gt; v;\n    for (int i = 0; i &lt; 10; i++)\n    {\n        v.push_back(i);\n    }\n\n    \/\/\u67e5\u627e\u5bb9\u5668\u4e2d \u6709\u6ca1\u6709\u5927\u4e8e5\u7684\u6570\u5b57\n    \/\/ vector&lt;int&gt;::iterator it = find_if(v.begin(), v.end(), GreaterFive());\n    sort(v.begin(), v.end());\n\n    sort(v.begin(), v.end(), GreaterFive());\n    for (vector&lt;int&gt;::iterator it = v.begin(); it != v.end(); it++)\n    {\n        cout &lt;&lt; *it &lt;&lt; \" \";\n    }\n}\n\nint main()\n{\n    test01();\n\n    return 0;\n}\n\n\/\/0 1 2 3 4 5 6 7 8 9 <\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">STL\u5185\u5efa\u51fd\u6570\u5bf9\u8c61<\/h2>\n\n\n\n<p><strong>\u4f7f\u7528\u5185\u5efa\u51fd\u6570\u5bf9\u8c61\u5e94\u4f7f\u7528 \u5934\u6587\u4ef6<\/strong><\/p>\n\n\n\n<p>\u4e4b\u524d\u7684\u8c13\u8bcd\u662f\u81ea\u5b9a\u4e49\u51fd\u6570 STL\u66f4\u4e13\u4e1a\u5168\u9762\u4e00\u70b9 \u4ed6\u4e3a\u4f60\u63d0\u4f9b\u4e86\u6a21\u677f<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7b97\u6570\u4eff\u51fd\u6570<\/h3>\n\n\n\n<p>\u5b9e\u73b0\u56db\u5219\u8fd0\u7b97<\/p>\n\n\n\n<p>negate\u662f\u4e00\u5143 \u5176\u4ed6\u90fd\u662f\u4e8c\u5143<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>template T plus \u52a0\u6cd5<\/li>\n\n\n\n<li>minus \u51cf\u6cd5<\/li>\n\n\n\n<li>multiplies \u4e58\u6cd5<\/li>\n\n\n\n<li>divides \u9664\u6cd5<\/li>\n\n\n\n<li>modulus \u53d6\u6a21<\/li>\n\n\n\n<li>negate \u53d6\u53cd<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>void test()\n{\n    negate&lt;int&gt; p;\n    cout &lt;&lt; p(50) &lt;&lt; endl;\n\n    minus&lt;int&gt; m;\n    cout &lt;&lt; m(2, 3) &lt;&lt; endl;\n\n    plus&lt;int&gt; plus;\n    cout &lt;&lt; plus(2, 3) &lt;&lt; endl;\n\n    multiplies&lt;int&gt; mu;\n    cout &lt;&lt; mu(2, 3) &lt;&lt; endl;\n\n    divides&lt;int&gt; d;\n    cout &lt;&lt; d(4, 2) &lt;&lt; endl;\n\n    modulus&lt;int&gt; s;\n    cout &lt;&lt; s(4, 3) &lt;&lt; endl;\n} <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u5173\u7cfb\u4eff\u51fd\u6570<\/h3>\n\n\n\n<p>\u5b9e\u73b0\u5173\u7cfb\u5bf9\u6bd4<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>template bool equal_to \/\/\u7b49\u4e8e<\/li>\n\n\n\n<li>template bool not_equal_to \/\/\u4e0d\u7b49\u4e8e<\/li>\n\n\n\n<li>template bool greater \/\/\u5927\u4e8e<\/li>\n\n\n\n<li>template bool greater_equal \/\/\u5927\u4e8e\u7b49\u4e8e<\/li>\n\n\n\n<li>template bool less \/\/\u5c0f\u4e8e<\/li>\n\n\n\n<li>template bool less_equal \/\/\u5c0f\u4e8e\u7b49\u4e8e<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>void test02()\n{\n    vector&lt;int&gt; v;\n    v.push_back(10);\n    v.push_back(50);\n    v.push_back(30);\n    v.push_back(10);\n    v.push_back(20);\n\n    \/\/\u964d\u5e8f\n    sort(v.begin(), v.end(), greater&lt;int&gt;());\n\n    for (vector&lt;int&gt;::iterator it = v.begin(); it != v.end(); it++)\n    {\n        cout &lt;&lt; *it &lt;&lt; \" \";\n    }\n    cout &lt;&lt; endl;\n}<\/code><\/pre>\n\n\n\n<p>### \u903b\u8f91\u4eff\u51fd\u6570<\/p>\n\n\n\n<p>\u5b9e\u73b0\u903b\u8f91\u8fd0\u7b97<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>template bool logical_and \/\/\u903b\u8f91\u4e0e<\/li>\n\n\n\n<li>template bool logical_or \/\/\u903b\u8f91\u6216<\/li>\n\n\n\n<li>template bool logical_not \/\/\u903b\u8f91\u975e<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u5e38\u7528\u904d\u5386\u7b97\u6cd5<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">for_each<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class Print\n{\npublic:\n    void operator()(int v)\n    {\n        cout &lt;&lt; v &lt;&lt; \" \";\n    }\n};\n\nvoid print(int v)\n{\n    cout &lt;&lt; v &lt;&lt; \" \";\n}\n\nvoid test()\n{\n    vector&lt;int&gt; v;\n    for (int i = 0; i &lt; 10; i++)\n    {\n        v.push_back(i);\n    }\n\n    for_each(v.begin(), v.end(), Print());\n}\n\nint main()\n{\n    test();\n    return 0;\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u6982\u5ff5 1.\u53ef\u4ee5\u50cf\u666e\u901a\u51fd\u6570\u4e00\u6837\u8c03\u7528 \u6709\u8fd4\u56de\u503c \u6709\u53c2\u6570\u5217\u8868 \u51fd\u6570\u5bf9\u8c61\u8d85\u51fa\u666e\u901a\u51fd\u6570\u7684\u6982\u5ff5 \u53ef\u4ee5\u62e5\u6709\u81ea\u5df1\u7684\u72b6\u6001 \u6bd4\u5982\u8ba1\u6570\u5668 \u666e\u901a\u51fd\u6570\u65e0\u6cd5\u505a &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"emotion":"","emotion_color":"","title_style":"","license":"","footnotes":""},"categories":[22],"tags":[],"class_list":["post-1961","post","type-post","status-publish","format-standard","hentry","category-c"],"_links":{"self":[{"href":"https:\/\/courtship.top\/index.php\/wp-json\/wp\/v2\/posts\/1961","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/courtship.top\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courtship.top\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courtship.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/courtship.top\/index.php\/wp-json\/wp\/v2\/comments?post=1961"}],"version-history":[{"count":0,"href":"https:\/\/courtship.top\/index.php\/wp-json\/wp\/v2\/posts\/1961\/revisions"}],"wp:attachment":[{"href":"https:\/\/courtship.top\/index.php\/wp-json\/wp\/v2\/media?parent=1961"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courtship.top\/index.php\/wp-json\/wp\/v2\/categories?post=1961"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courtship.top\/index.php\/wp-json\/wp\/v2\/tags?post=1961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}