[{"data":1,"prerenderedAt":3251},["ShallowReactive",2],{"wiki-page-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci":3,"wiki-doc-items-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci":2830,"language-switcher-data-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci":3235,"wiki-i18n-paths-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci":3250},{"id":4,"title":5,"body":6,"canonicalPath":2812,"chapterDepth":110,"chapterOrder":2813,"date":2814,"description":103,"docI18nKey":2815,"docKey":2816,"docRoot":2817,"docTitle":2818,"extension":2819,"i18nKey":2820,"isBlogPost":2821,"isWikiDoc":132,"isWikiIndex":2821,"layout":2822,"legacyPath":2822,"locale":2823,"localeSlug":2824,"meta":2825,"navigation":132,"path":2812,"seo":2826,"sourcePath":2827,"sourceStem":2820,"stem":2828,"wikiDepth":110,"__hash__":2829},"content\u002F_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-1100-函数对象与谓词.md","Function objects and predicates",{"type":7,"value":8,"toc":2805},"minimark",[9,14,19,24,31,60,65,72,76,81,92,97,708,713,721,724,729,732,736,740,753,757,761,1101,1105,1111,1114,1118,1122,1568,1572,1578,1581,1585,1589,1593,1598,1603,1614,1619,1630,1633,1638,1646,1651,1689,1693,1886,1890,1896,1902,1905,1909,1914,1918,1956,1960,2370,2374,2380,2383,2386,2390,2395,2400,2420,2424,2788,2792,2798,2801],[10,11,13],"h2",{"id":12},"stl-function-objects","STL- Function Objects",[15,16,18],"h3",{"id":17},"function-object","function object",[20,21,23],"h4",{"id":22},"function-object-concept","Function Object Concept",[25,26,27],"p",{},[28,29,30],"strong",{},"Concept:",[32,33,34,46],"ul",{},[35,36,37,38,41,42,45],"li",{},"A class that overloads the ",[28,39,40],{},"function call operator"," typically has its objects referred to as ",[28,43,44],{},"function objects",".",[35,47,48,51,52,56,57,45],{},[28,49,50],{},"Function objects"," behave like function calls when using the overloaded ",[53,54,55],"code",{},"()"," and are also called ",[28,58,59],{},"functors",[25,61,62],{},[28,63,64],{},"Essence:",[25,66,67,68,71],{},"Function objects (functors) are ",[28,69,70],{},"classes",", not functions.",[20,73,75],{"id":74},"function-objects-usage","Function objects usage",[25,77,78],{},[28,79,80],{},"Features:",[32,82,83,86,89],{},[35,84,85],{},"Function objects can be called like regular functions, can take parameters, and can return values.",[35,87,88],{},"Function objects go beyond the concept of ordinary functions, as they can have their own state.",[35,90,91],{},"Function objects can be passed as parameters.",[25,93,94],{},[28,95,96],{},"Example:",[98,99,104],"pre",{"className":100,"code":101,"language":102,"meta":103,"style":103},"language-cpp shiki shiki-themes github-light github-dark","#include \u003Ciostream>\n#include \u003Cstring>\n\nusing namespace std;\n\n\u002F\u002F1、函数对象在使用时，可以像普通函数那样调用, 可以有参数，可以有返回值\nclass MyAdd\n{\npublic :\n    int operator()(int v1,int v2)\n    {\n        return v1 + v2;\n    }\n};\n\nvoid test01()\n{\n    MyAdd myAdd;\n    cout \u003C\u003C myAdd(10, 10) \u003C\u003C endl;\n}\n\n\u002F\u002F2、函数对象可以有自己的状态\nclass MyPrint\n{\npublic:\n    MyPrint()\n    {\n        count = 0;\n    }\n    void operator()(string test)\n    {\n        cout \u003C\u003C test \u003C\u003C endl;\n        count++; \u002F\u002F统计使用次数\n    }\n\n    int count; \u002F\u002F内部自己的状态\n};\nvoid test02()\n{\n    MyPrint myPrint;\n    myPrint(\"hello world\");\n    myPrint(\"hello world\");\n    myPrint(\"hello world\");\n    cout \u003C\u003C \"myPrint调用次数为： \" \u003C\u003C myPrint.count \u003C\u003C endl;\n}\n\n\u002F\u002F3、函数对象可以作为参数传递\nvoid doPrint(MyPrint &mp , string test)\n{\n    mp(test);\n}\n\nvoid test03()\n{\n    MyPrint myPrint;\n    doPrint(myPrint, \"Hello C++\");\n}\n\nint main() {\n\n    \u002F\u002Ftest01();\n    \u002F\u002Ftest02();\n    test03();\n\n\n    return 0;\n}\n","cpp","",[53,105,106,119,127,134,151,156,163,172,178,184,216,222,237,243,249,254,266,271,277,308,314,319,325,333,338,344,352,357,371,376,396,401,416,431,436,441,452,457,467,472,478,492,503,514,534,539,544,550,578,583,592,597,602,612,617,622,636,641,646,657,662,668,674,683,688,693,703],{"__ignoreMap":103},[107,108,111,115],"span",{"class":109,"line":110},"line",1,[107,112,114],{"class":113},"szBVR","#include",[107,116,118],{"class":117},"sZZnC"," \u003Ciostream>\n",[107,120,122,124],{"class":109,"line":121},2,[107,123,114],{"class":113},[107,125,126],{"class":117}," \u003Cstring>\n",[107,128,130],{"class":109,"line":129},3,[107,131,133],{"emptyLinePlaceholder":132},true,"\n",[107,135,137,140,143,147],{"class":109,"line":136},4,[107,138,139],{"class":113},"using",[107,141,142],{"class":113}," namespace",[107,144,146],{"class":145},"sScJk"," std",[107,148,150],{"class":149},"sVt8B",";\n",[107,152,154],{"class":109,"line":153},5,[107,155,133],{"emptyLinePlaceholder":132},[107,157,159],{"class":109,"line":158},6,[107,160,162],{"class":161},"sJ8bj","\u002F\u002F1、函数对象在使用时，可以像普通函数那样调用, 可以有参数，可以有返回值\n",[107,164,166,169],{"class":109,"line":165},7,[107,167,168],{"class":113},"class",[107,170,171],{"class":145}," MyAdd\n",[107,173,175],{"class":109,"line":174},8,[107,176,177],{"class":149},"{\n",[107,179,181],{"class":109,"line":180},9,[107,182,183],{"class":113},"public :\n",[107,185,187,190,193,195,198,201,205,208,210,213],{"class":109,"line":186},10,[107,188,189],{"class":113},"    int",[107,191,192],{"class":113}," operator",[107,194,55],{"class":145},[107,196,197],{"class":149},"(",[107,199,200],{"class":113},"int",[107,202,204],{"class":203},"s4XuR"," v1",[107,206,207],{"class":149},",",[107,209,200],{"class":113},[107,211,212],{"class":203}," v2",[107,214,215],{"class":149},")\n",[107,217,219],{"class":109,"line":218},11,[107,220,221],{"class":149},"    {\n",[107,223,225,228,231,234],{"class":109,"line":224},12,[107,226,227],{"class":113},"        return",[107,229,230],{"class":149}," v1 ",[107,232,233],{"class":113},"+",[107,235,236],{"class":149}," v2;\n",[107,238,240],{"class":109,"line":239},13,[107,241,242],{"class":149},"    }\n",[107,244,246],{"class":109,"line":245},14,[107,247,248],{"class":149},"};\n",[107,250,252],{"class":109,"line":251},15,[107,253,133],{"emptyLinePlaceholder":132},[107,255,257,260,263],{"class":109,"line":256},16,[107,258,259],{"class":113},"void",[107,261,262],{"class":145}," test01",[107,264,265],{"class":149},"()\n",[107,267,269],{"class":109,"line":268},17,[107,270,177],{"class":149},[107,272,274],{"class":109,"line":273},18,[107,275,276],{"class":149},"    MyAdd myAdd;\n",[107,278,280,283,286,289,291,295,298,300,303,305],{"class":109,"line":279},19,[107,281,282],{"class":149},"    cout ",[107,284,285],{"class":113},"\u003C\u003C",[107,287,288],{"class":145}," myAdd",[107,290,197],{"class":149},[107,292,294],{"class":293},"sj4cs","10",[107,296,297],{"class":149},", ",[107,299,294],{"class":293},[107,301,302],{"class":149},") ",[107,304,285],{"class":113},[107,306,307],{"class":149}," endl;\n",[107,309,311],{"class":109,"line":310},20,[107,312,313],{"class":149},"}\n",[107,315,317],{"class":109,"line":316},21,[107,318,133],{"emptyLinePlaceholder":132},[107,320,322],{"class":109,"line":321},22,[107,323,324],{"class":161},"\u002F\u002F2、函数对象可以有自己的状态\n",[107,326,328,330],{"class":109,"line":327},23,[107,329,168],{"class":113},[107,331,332],{"class":145}," MyPrint\n",[107,334,336],{"class":109,"line":335},24,[107,337,177],{"class":149},[107,339,341],{"class":109,"line":340},25,[107,342,343],{"class":113},"public:\n",[107,345,347,350],{"class":109,"line":346},26,[107,348,349],{"class":145},"    MyPrint",[107,351,265],{"class":149},[107,353,355],{"class":109,"line":354},27,[107,356,221],{"class":149},[107,358,360,363,366,369],{"class":109,"line":359},28,[107,361,362],{"class":149},"        count ",[107,364,365],{"class":113},"=",[107,367,368],{"class":293}," 0",[107,370,150],{"class":149},[107,372,374],{"class":109,"line":373},29,[107,375,242],{"class":149},[107,377,379,382,384,386,388,391,394],{"class":109,"line":378},30,[107,380,381],{"class":113},"    void",[107,383,192],{"class":113},[107,385,55],{"class":145},[107,387,197],{"class":149},[107,389,390],{"class":145},"string",[107,392,393],{"class":203}," test",[107,395,215],{"class":149},[107,397,399],{"class":109,"line":398},31,[107,400,221],{"class":149},[107,402,404,407,409,412,414],{"class":109,"line":403},32,[107,405,406],{"class":149},"        cout ",[107,408,285],{"class":113},[107,410,411],{"class":149}," test ",[107,413,285],{"class":113},[107,415,307],{"class":149},[107,417,419,422,425,428],{"class":109,"line":418},33,[107,420,421],{"class":149},"        count",[107,423,424],{"class":113},"++",[107,426,427],{"class":149},";",[107,429,430],{"class":161}," \u002F\u002F统计使用次数\n",[107,432,434],{"class":109,"line":433},34,[107,435,242],{"class":149},[107,437,439],{"class":109,"line":438},35,[107,440,133],{"emptyLinePlaceholder":132},[107,442,444,446,449],{"class":109,"line":443},36,[107,445,189],{"class":113},[107,447,448],{"class":149}," count;",[107,450,451],{"class":161}," \u002F\u002F内部自己的状态\n",[107,453,455],{"class":109,"line":454},37,[107,456,248],{"class":149},[107,458,460,462,465],{"class":109,"line":459},38,[107,461,259],{"class":113},[107,463,464],{"class":145}," test02",[107,466,265],{"class":149},[107,468,470],{"class":109,"line":469},39,[107,471,177],{"class":149},[107,473,475],{"class":109,"line":474},40,[107,476,477],{"class":149},"    MyPrint myPrint;\n",[107,479,481,484,486,489],{"class":109,"line":480},41,[107,482,483],{"class":145},"    myPrint",[107,485,197],{"class":149},[107,487,488],{"class":117},"\"hello world\"",[107,490,491],{"class":149},");\n",[107,493,495,497,499,501],{"class":109,"line":494},42,[107,496,483],{"class":145},[107,498,197],{"class":149},[107,500,488],{"class":117},[107,502,491],{"class":149},[107,504,506,508,510,512],{"class":109,"line":505},43,[107,507,483],{"class":145},[107,509,197],{"class":149},[107,511,488],{"class":117},[107,513,491],{"class":149},[107,515,517,519,521,524,527,530,532],{"class":109,"line":516},44,[107,518,282],{"class":149},[107,520,285],{"class":113},[107,522,523],{"class":117}," \"myPrint调用次数为： \"",[107,525,526],{"class":113}," \u003C\u003C",[107,528,529],{"class":149}," myPrint.count ",[107,531,285],{"class":113},[107,533,307],{"class":149},[107,535,537],{"class":109,"line":536},45,[107,538,313],{"class":149},[107,540,542],{"class":109,"line":541},46,[107,543,133],{"emptyLinePlaceholder":132},[107,545,547],{"class":109,"line":546},47,[107,548,549],{"class":161},"\u002F\u002F3、函数对象可以作为参数传递\n",[107,551,553,555,558,560,563,566,569,572,574,576],{"class":109,"line":552},48,[107,554,259],{"class":113},[107,556,557],{"class":145}," doPrint",[107,559,197],{"class":149},[107,561,562],{"class":145},"MyPrint",[107,564,565],{"class":113}," &",[107,567,568],{"class":203},"mp",[107,570,571],{"class":149}," , ",[107,573,390],{"class":145},[107,575,393],{"class":203},[107,577,215],{"class":149},[107,579,581],{"class":109,"line":580},49,[107,582,177],{"class":149},[107,584,586,589],{"class":109,"line":585},50,[107,587,588],{"class":145},"    mp",[107,590,591],{"class":149},"(test);\n",[107,593,595],{"class":109,"line":594},51,[107,596,313],{"class":149},[107,598,600],{"class":109,"line":599},52,[107,601,133],{"emptyLinePlaceholder":132},[107,603,605,607,610],{"class":109,"line":604},53,[107,606,259],{"class":113},[107,608,609],{"class":145}," test03",[107,611,265],{"class":149},[107,613,615],{"class":109,"line":614},54,[107,616,177],{"class":149},[107,618,620],{"class":109,"line":619},55,[107,621,477],{"class":149},[107,623,625,628,631,634],{"class":109,"line":624},56,[107,626,627],{"class":145},"    doPrint",[107,629,630],{"class":149},"(myPrint, ",[107,632,633],{"class":117},"\"Hello C++\"",[107,635,491],{"class":149},[107,637,639],{"class":109,"line":638},57,[107,640,313],{"class":149},[107,642,644],{"class":109,"line":643},58,[107,645,133],{"emptyLinePlaceholder":132},[107,647,649,651,654],{"class":109,"line":648},59,[107,650,200],{"class":113},[107,652,653],{"class":145}," main",[107,655,656],{"class":149},"() {\n",[107,658,660],{"class":109,"line":659},60,[107,661,133],{"emptyLinePlaceholder":132},[107,663,665],{"class":109,"line":664},61,[107,666,667],{"class":161},"    \u002F\u002Ftest01();\n",[107,669,671],{"class":109,"line":670},62,[107,672,673],{"class":161},"    \u002F\u002Ftest02();\n",[107,675,677,680],{"class":109,"line":676},63,[107,678,679],{"class":145},"    test03",[107,681,682],{"class":149},"();\n",[107,684,686],{"class":109,"line":685},64,[107,687,133],{"emptyLinePlaceholder":132},[107,689,691],{"class":109,"line":690},65,[107,692,133],{"emptyLinePlaceholder":132},[107,694,696,699,701],{"class":109,"line":695},66,[107,697,698],{"class":113},"    return",[107,700,368],{"class":293},[107,702,150],{"class":149},[107,704,706],{"class":109,"line":705},67,[107,707,313],{"class":149},[25,709,710],{},[28,711,712],{},"运行结果：",[98,714,719],{"className":715,"code":717,"language":718,"meta":103},[716],"language-text","Hello C++\n","text",[53,720,717],{"__ignoreMap":103},[25,722,723],{},"Summary:",[32,725,726],{},[35,727,728],{},"Functor implementations are highly flexible and can be passed as parameters.",[15,730,731],{"id":731},"predicate",[20,733,735],{"id":734},"predicate-concepts","Predicate Concepts",[25,737,738],{},[28,739,30],{},[32,741,742,747,750],{},[35,743,744,745,45],{},"A functor that returns a boolean type is called a ",[28,746,731],{},[35,748,749],{},"If the operator() takes a single parameter, it's known as a unary predicate.",[35,751,752],{},"If the operator() takes two parameters, it is called a binary predicate.",[20,754,756],{"id":755},"unary-predicate","unary predicate",[25,758,759],{},[28,760,96],{},[98,762,764],{"className":100,"code":763,"language":102,"meta":103,"style":103},"#include \u003Ciostream>\n#include \u003Cvector>\n#include \u003Calgorithm>\n\nusing namespace std;\n\n\u002F\u002F1.一元谓词\nstruct GreaterFive{\n    bool operator()(int val) {\n        return val > 5;\n    }\n};\n\nvoid test01() {\n\n    vector\u003Cint> v;\n    for (int i = 0; i \u003C 10; i++)\n    {\n        v.push_back(i);\n    }\n\n    vector\u003Cint>::iterator it = find_if(v.begin(), v.end(), GreaterFive());\n    if (it == v.end()) {\n        cout \u003C\u003C \"没找到!\" \u003C\u003C endl;\n    }\n    else {\n        cout \u003C\u003C \"找到:\" \u003C\u003C *it \u003C\u003C endl;\n    }\n\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[53,765,766,772,779,786,790,800,804,809,819,838,853,857,861,865,873,877,888,921,925,936,940,944,981,1000,1013,1017,1025,1046,1050,1054,1058,1062,1070,1074,1081,1085,1089,1097],{"__ignoreMap":103},[107,767,768,770],{"class":109,"line":110},[107,769,114],{"class":113},[107,771,118],{"class":117},[107,773,774,776],{"class":109,"line":121},[107,775,114],{"class":113},[107,777,778],{"class":117}," \u003Cvector>\n",[107,780,781,783],{"class":109,"line":129},[107,782,114],{"class":113},[107,784,785],{"class":117}," \u003Calgorithm>\n",[107,787,788],{"class":109,"line":136},[107,789,133],{"emptyLinePlaceholder":132},[107,791,792,794,796,798],{"class":109,"line":153},[107,793,139],{"class":113},[107,795,142],{"class":113},[107,797,146],{"class":145},[107,799,150],{"class":149},[107,801,802],{"class":109,"line":158},[107,803,133],{"emptyLinePlaceholder":132},[107,805,806],{"class":109,"line":165},[107,807,808],{"class":161},"\u002F\u002F1.一元谓词\n",[107,810,811,814,817],{"class":109,"line":174},[107,812,813],{"class":113},"struct",[107,815,816],{"class":145}," GreaterFive",[107,818,177],{"class":149},[107,820,821,824,826,828,830,832,835],{"class":109,"line":180},[107,822,823],{"class":113},"    bool",[107,825,192],{"class":113},[107,827,55],{"class":145},[107,829,197],{"class":149},[107,831,200],{"class":113},[107,833,834],{"class":203}," val",[107,836,837],{"class":149},") {\n",[107,839,840,842,845,848,851],{"class":109,"line":186},[107,841,227],{"class":113},[107,843,844],{"class":149}," val ",[107,846,847],{"class":113},">",[107,849,850],{"class":293}," 5",[107,852,150],{"class":149},[107,854,855],{"class":109,"line":218},[107,856,242],{"class":149},[107,858,859],{"class":109,"line":224},[107,860,248],{"class":149},[107,862,863],{"class":109,"line":239},[107,864,133],{"emptyLinePlaceholder":132},[107,866,867,869,871],{"class":109,"line":245},[107,868,259],{"class":113},[107,870,262],{"class":145},[107,872,656],{"class":149},[107,874,875],{"class":109,"line":251},[107,876,133],{"emptyLinePlaceholder":132},[107,878,879,882,885],{"class":109,"line":256},[107,880,881],{"class":149},"    vector",[107,883,884],{"class":113},"\u003Cint>",[107,886,887],{"class":149}," v;\n",[107,889,890,893,896,898,901,903,905,908,911,914,917,919],{"class":109,"line":268},[107,891,892],{"class":113},"    for",[107,894,895],{"class":149}," (",[107,897,200],{"class":113},[107,899,900],{"class":149}," i ",[107,902,365],{"class":113},[107,904,368],{"class":293},[107,906,907],{"class":149},"; i ",[107,909,910],{"class":113},"\u003C",[107,912,913],{"class":293}," 10",[107,915,916],{"class":149},"; i",[107,918,424],{"class":113},[107,920,215],{"class":149},[107,922,923],{"class":109,"line":273},[107,924,221],{"class":149},[107,926,927,930,933],{"class":109,"line":279},[107,928,929],{"class":149},"        v.",[107,931,932],{"class":145},"push_back",[107,934,935],{"class":149},"(i);\n",[107,937,938],{"class":109,"line":310},[107,939,242],{"class":149},[107,941,942],{"class":109,"line":316},[107,943,133],{"emptyLinePlaceholder":132},[107,945,946,948,950,952,955,957,960,963,966,969,972,975,978],{"class":109,"line":321},[107,947,881],{"class":145},[107,949,910],{"class":149},[107,951,200],{"class":113},[107,953,954],{"class":149},">::iterator it ",[107,956,365],{"class":113},[107,958,959],{"class":145}," find_if",[107,961,962],{"class":149},"(v.",[107,964,965],{"class":145},"begin",[107,967,968],{"class":149},"(), v.",[107,970,971],{"class":145},"end",[107,973,974],{"class":149},"(), ",[107,976,977],{"class":145},"GreaterFive",[107,979,980],{"class":149},"());\n",[107,982,983,986,989,992,995,997],{"class":109,"line":327},[107,984,985],{"class":113},"    if",[107,987,988],{"class":149}," (it ",[107,990,991],{"class":113},"==",[107,993,994],{"class":149}," v.",[107,996,971],{"class":145},[107,998,999],{"class":149},"()) {\n",[107,1001,1002,1004,1006,1009,1011],{"class":109,"line":335},[107,1003,406],{"class":149},[107,1005,285],{"class":113},[107,1007,1008],{"class":117}," \"没找到!\"",[107,1010,526],{"class":113},[107,1012,307],{"class":149},[107,1014,1015],{"class":109,"line":340},[107,1016,242],{"class":149},[107,1018,1019,1022],{"class":109,"line":346},[107,1020,1021],{"class":113},"    else",[107,1023,1024],{"class":149}," {\n",[107,1026,1027,1029,1031,1034,1036,1039,1042,1044],{"class":109,"line":354},[107,1028,406],{"class":149},[107,1030,285],{"class":113},[107,1032,1033],{"class":117}," \"找到:\"",[107,1035,526],{"class":113},[107,1037,1038],{"class":113}," *",[107,1040,1041],{"class":149},"it ",[107,1043,285],{"class":113},[107,1045,307],{"class":149},[107,1047,1048],{"class":109,"line":359},[107,1049,242],{"class":149},[107,1051,1052],{"class":109,"line":373},[107,1053,133],{"emptyLinePlaceholder":132},[107,1055,1056],{"class":109,"line":378},[107,1057,313],{"class":149},[107,1059,1060],{"class":109,"line":398},[107,1061,133],{"emptyLinePlaceholder":132},[107,1063,1064,1066,1068],{"class":109,"line":403},[107,1065,200],{"class":113},[107,1067,653],{"class":145},[107,1069,656],{"class":149},[107,1071,1072],{"class":109,"line":418},[107,1073,133],{"emptyLinePlaceholder":132},[107,1075,1076,1079],{"class":109,"line":433},[107,1077,1078],{"class":145},"    test01",[107,1080,682],{"class":149},[107,1082,1083],{"class":109,"line":438},[107,1084,133],{"emptyLinePlaceholder":132},[107,1086,1087],{"class":109,"line":443},[107,1088,133],{"emptyLinePlaceholder":132},[107,1090,1091,1093,1095],{"class":109,"line":454},[107,1092,698],{"class":113},[107,1094,368],{"class":293},[107,1096,150],{"class":149},[107,1098,1099],{"class":109,"line":459},[107,1100,313],{"class":149},[25,1102,1103],{},[28,1104,712],{},[98,1106,1109],{"className":1107,"code":1108,"language":718,"meta":103},[716],"找到:6\n",[53,1110,1108],{"__ignoreMap":103},[25,1112,1113],{},"In summary: a predicate with only one parameter is called a unary predicate.",[20,1115,1117],{"id":1116},"binary-predicate","Binary predicate",[25,1119,1120],{},[28,1121,96],{},[98,1123,1125],{"className":100,"code":1124,"language":102,"meta":103,"style":103},"#include \u003Ciostream>\n#include \u003Cvector>\n#include \u003Calgorithm>\n\nusing namespace std;\n\n\u002F\u002F二元谓词\nclass MyCompare\n{\npublic:\n    bool operator()(int num1, int num2)\n    {\n        return num1 > num2;\n    }\n};\n\nvoid test01()\n{\n    vector\u003Cint> v;\n    v.push_back(10);\n    v.push_back(40);\n    v.push_back(20);\n    v.push_back(30);\n    v.push_back(50);\n\n    \u002F\u002F默认从小到大\n    sort(v.begin(), v.end());\n    for (vector\u003Cint>::iterator it = v.begin(); it != v.end(); it++)\n    {\n        cout \u003C\u003C *it \u003C\u003C \" \";\n    }\n    cout \u003C\u003C endl;\n    cout \u003C\u003C \"----------------------------\" \u003C\u003C endl;\n\n    \u002F\u002F使用函数对象改变算法策略，排序从大到小\n    sort(v.begin(), v.end(), MyCompare());\n    for (vector\u003Cint>::iterator it = v.begin(); it != v.end(); it++)\n    {\n        cout \u003C\u003C *it \u003C\u003C \" \";\n    }\n    cout \u003C\u003C endl;\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[53,1126,1127,1133,1139,1145,1149,1159,1163,1168,1175,1179,1183,1207,1211,1223,1227,1231,1235,1243,1247,1255,1268,1281,1294,1307,1320,1324,1329,1344,1382,1386,1403,1407,1415,1428,1432,1437,1456,1490,1494,1510,1514,1522,1526,1530,1538,1542,1548,1552,1556,1564],{"__ignoreMap":103},[107,1128,1129,1131],{"class":109,"line":110},[107,1130,114],{"class":113},[107,1132,118],{"class":117},[107,1134,1135,1137],{"class":109,"line":121},[107,1136,114],{"class":113},[107,1138,778],{"class":117},[107,1140,1141,1143],{"class":109,"line":129},[107,1142,114],{"class":113},[107,1144,785],{"class":117},[107,1146,1147],{"class":109,"line":136},[107,1148,133],{"emptyLinePlaceholder":132},[107,1150,1151,1153,1155,1157],{"class":109,"line":153},[107,1152,139],{"class":113},[107,1154,142],{"class":113},[107,1156,146],{"class":145},[107,1158,150],{"class":149},[107,1160,1161],{"class":109,"line":158},[107,1162,133],{"emptyLinePlaceholder":132},[107,1164,1165],{"class":109,"line":165},[107,1166,1167],{"class":161},"\u002F\u002F二元谓词\n",[107,1169,1170,1172],{"class":109,"line":174},[107,1171,168],{"class":113},[107,1173,1174],{"class":145}," MyCompare\n",[107,1176,1177],{"class":109,"line":180},[107,1178,177],{"class":149},[107,1180,1181],{"class":109,"line":186},[107,1182,343],{"class":113},[107,1184,1185,1187,1189,1191,1193,1195,1198,1200,1202,1205],{"class":109,"line":218},[107,1186,823],{"class":113},[107,1188,192],{"class":113},[107,1190,55],{"class":145},[107,1192,197],{"class":149},[107,1194,200],{"class":113},[107,1196,1197],{"class":203}," num1",[107,1199,297],{"class":149},[107,1201,200],{"class":113},[107,1203,1204],{"class":203}," num2",[107,1206,215],{"class":149},[107,1208,1209],{"class":109,"line":224},[107,1210,221],{"class":149},[107,1212,1213,1215,1218,1220],{"class":109,"line":239},[107,1214,227],{"class":113},[107,1216,1217],{"class":149}," num1 ",[107,1219,847],{"class":113},[107,1221,1222],{"class":149}," num2;\n",[107,1224,1225],{"class":109,"line":245},[107,1226,242],{"class":149},[107,1228,1229],{"class":109,"line":251},[107,1230,248],{"class":149},[107,1232,1233],{"class":109,"line":256},[107,1234,133],{"emptyLinePlaceholder":132},[107,1236,1237,1239,1241],{"class":109,"line":268},[107,1238,259],{"class":113},[107,1240,262],{"class":145},[107,1242,265],{"class":149},[107,1244,1245],{"class":109,"line":273},[107,1246,177],{"class":149},[107,1248,1249,1251,1253],{"class":109,"line":279},[107,1250,881],{"class":149},[107,1252,884],{"class":113},[107,1254,887],{"class":149},[107,1256,1257,1260,1262,1264,1266],{"class":109,"line":310},[107,1258,1259],{"class":149},"    v.",[107,1261,932],{"class":145},[107,1263,197],{"class":149},[107,1265,294],{"class":293},[107,1267,491],{"class":149},[107,1269,1270,1272,1274,1276,1279],{"class":109,"line":316},[107,1271,1259],{"class":149},[107,1273,932],{"class":145},[107,1275,197],{"class":149},[107,1277,1278],{"class":293},"40",[107,1280,491],{"class":149},[107,1282,1283,1285,1287,1289,1292],{"class":109,"line":321},[107,1284,1259],{"class":149},[107,1286,932],{"class":145},[107,1288,197],{"class":149},[107,1290,1291],{"class":293},"20",[107,1293,491],{"class":149},[107,1295,1296,1298,1300,1302,1305],{"class":109,"line":327},[107,1297,1259],{"class":149},[107,1299,932],{"class":145},[107,1301,197],{"class":149},[107,1303,1304],{"class":293},"30",[107,1306,491],{"class":149},[107,1308,1309,1311,1313,1315,1318],{"class":109,"line":335},[107,1310,1259],{"class":149},[107,1312,932],{"class":145},[107,1314,197],{"class":149},[107,1316,1317],{"class":293},"50",[107,1319,491],{"class":149},[107,1321,1322],{"class":109,"line":340},[107,1323,133],{"emptyLinePlaceholder":132},[107,1325,1326],{"class":109,"line":346},[107,1327,1328],{"class":161},"    \u002F\u002F默认从小到大\n",[107,1330,1331,1334,1336,1338,1340,1342],{"class":109,"line":354},[107,1332,1333],{"class":145},"    sort",[107,1335,962],{"class":149},[107,1337,965],{"class":145},[107,1339,968],{"class":149},[107,1341,971],{"class":145},[107,1343,980],{"class":149},[107,1345,1346,1348,1350,1353,1355,1357,1359,1361,1363,1365,1368,1371,1373,1375,1378,1380],{"class":109,"line":359},[107,1347,892],{"class":113},[107,1349,895],{"class":149},[107,1351,1352],{"class":145},"vector",[107,1354,910],{"class":149},[107,1356,200],{"class":113},[107,1358,954],{"class":149},[107,1360,365],{"class":113},[107,1362,994],{"class":149},[107,1364,965],{"class":145},[107,1366,1367],{"class":149},"(); it ",[107,1369,1370],{"class":113},"!=",[107,1372,994],{"class":149},[107,1374,971],{"class":145},[107,1376,1377],{"class":149},"(); it",[107,1379,424],{"class":113},[107,1381,215],{"class":149},[107,1383,1384],{"class":109,"line":373},[107,1385,221],{"class":149},[107,1387,1388,1390,1392,1394,1396,1398,1401],{"class":109,"line":378},[107,1389,406],{"class":149},[107,1391,285],{"class":113},[107,1393,1038],{"class":113},[107,1395,1041],{"class":149},[107,1397,285],{"class":113},[107,1399,1400],{"class":117}," \" \"",[107,1402,150],{"class":149},[107,1404,1405],{"class":109,"line":398},[107,1406,242],{"class":149},[107,1408,1409,1411,1413],{"class":109,"line":403},[107,1410,282],{"class":149},[107,1412,285],{"class":113},[107,1414,307],{"class":149},[107,1416,1417,1419,1421,1424,1426],{"class":109,"line":418},[107,1418,282],{"class":149},[107,1420,285],{"class":113},[107,1422,1423],{"class":117}," \"----------------------------\"",[107,1425,526],{"class":113},[107,1427,307],{"class":149},[107,1429,1430],{"class":109,"line":433},[107,1431,133],{"emptyLinePlaceholder":132},[107,1433,1434],{"class":109,"line":438},[107,1435,1436],{"class":161},"    \u002F\u002F使用函数对象改变算法策略，排序从大到小\n",[107,1438,1439,1441,1443,1445,1447,1449,1451,1454],{"class":109,"line":443},[107,1440,1333],{"class":145},[107,1442,962],{"class":149},[107,1444,965],{"class":145},[107,1446,968],{"class":149},[107,1448,971],{"class":145},[107,1450,974],{"class":149},[107,1452,1453],{"class":145},"MyCompare",[107,1455,980],{"class":149},[107,1457,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488],{"class":109,"line":454},[107,1459,892],{"class":113},[107,1461,895],{"class":149},[107,1463,1352],{"class":145},[107,1465,910],{"class":149},[107,1467,200],{"class":113},[107,1469,954],{"class":149},[107,1471,365],{"class":113},[107,1473,994],{"class":149},[107,1475,965],{"class":145},[107,1477,1367],{"class":149},[107,1479,1370],{"class":113},[107,1481,994],{"class":149},[107,1483,971],{"class":145},[107,1485,1377],{"class":149},[107,1487,424],{"class":113},[107,1489,215],{"class":149},[107,1491,1492],{"class":109,"line":459},[107,1493,221],{"class":149},[107,1495,1496,1498,1500,1502,1504,1506,1508],{"class":109,"line":469},[107,1497,406],{"class":149},[107,1499,285],{"class":113},[107,1501,1038],{"class":113},[107,1503,1041],{"class":149},[107,1505,285],{"class":113},[107,1507,1400],{"class":117},[107,1509,150],{"class":149},[107,1511,1512],{"class":109,"line":474},[107,1513,242],{"class":149},[107,1515,1516,1518,1520],{"class":109,"line":480},[107,1517,282],{"class":149},[107,1519,285],{"class":113},[107,1521,307],{"class":149},[107,1523,1524],{"class":109,"line":494},[107,1525,313],{"class":149},[107,1527,1528],{"class":109,"line":505},[107,1529,133],{"emptyLinePlaceholder":132},[107,1531,1532,1534,1536],{"class":109,"line":516},[107,1533,200],{"class":113},[107,1535,653],{"class":145},[107,1537,656],{"class":149},[107,1539,1540],{"class":109,"line":536},[107,1541,133],{"emptyLinePlaceholder":132},[107,1543,1544,1546],{"class":109,"line":541},[107,1545,1078],{"class":145},[107,1547,682],{"class":149},[107,1549,1550],{"class":109,"line":546},[107,1551,133],{"emptyLinePlaceholder":132},[107,1553,1554],{"class":109,"line":552},[107,1555,133],{"emptyLinePlaceholder":132},[107,1557,1558,1560,1562],{"class":109,"line":580},[107,1559,698],{"class":113},[107,1561,368],{"class":293},[107,1563,150],{"class":149},[107,1565,1566],{"class":109,"line":585},[107,1567,313],{"class":149},[25,1569,1570],{},[28,1571,712],{},[98,1573,1576],{"className":1574,"code":1575,"language":718,"meta":103},[716],"10 20 30 40 50\n----------------------------\n50 40 30 20 10\n",[53,1577,1575],{"__ignoreMap":103},[25,1579,1580],{},"Summary: A predicate with only two parameters is called a binary predicate.",[15,1582,1584],{"id":1583},"built-in-function-objects","built-in function objects",[20,1586,1588],{"id":1587},"the-significance-of-built-in-function-objects","The Significance of Built-in Function Objects",[25,1590,1591],{},[28,1592,30],{},[32,1594,1595],{},[35,1596,1597],{},"STL includes some built-in function objects.",[25,1599,1600],{},[28,1601,1602],{},"Category:",[32,1604,1605,1608,1611],{},[35,1606,1607],{},"arithmetic functor",[35,1609,1610],{},"relation functor",[35,1612,1613],{},"logic functor",[25,1615,1616],{},[28,1617,1618],{},"Usage:",[32,1620,1621,1624],{},[35,1622,1623],{},"The objects generated by these functors are used exactly the same way as regular functions.",[35,1625,1626,1627],{},"Using built-in function objects requires including the header file ",[53,1628,1629],{},"#include\u003Cfunctional>",[20,1631,1607],{"id":1632},"arithmetic-functor",[25,1634,1635],{},[28,1636,1637],{},"Description:",[32,1639,1640,1643],{},[35,1641,1642],{},"Implement arithmetic operations",[35,1644,1645],{},"Among them, negate is a unary operation, and the others are binary operations.",[25,1647,1648],{},[28,1649,1650],{},"Function Prototype:",[32,1652,1653,1659,1665,1671,1677,1683],{},[35,1654,1655,1658],{},[53,1656,1657],{},"template\u003Cclass T> T plus\u003CT>","                \u002F\u002F Addition Functor",[35,1660,1661,1664],{},[53,1662,1663],{},"template\u003Cclass T> T minus\u003CT>","              \u002F\u002Fsubtraction functor",[35,1666,1667,1670],{},[53,1668,1669],{},"template\u003Cclass T> T multiplies\u003CT>","    \u002F\u002FMultiplication functor",[35,1672,1673,1676],{},[53,1674,1675],{},"template\u003Cclass T> T divides\u003CT>","         \u002F\u002Fdivision functor",[35,1678,1679,1682],{},[53,1680,1681],{},"template\u003Cclass T> T modulus\u003CT>","         \u002F\u002Fmodulo function",[35,1684,1685,1688],{},[53,1686,1687],{},"template\u003Cclass T> T negate\u003CT>","           \u002F\u002Fnegation functor",[25,1690,1691],{},[28,1692,96],{},[98,1694,1696],{"className":100,"code":1695,"language":102,"meta":103,"style":103},"#include \u003Ciostream>\n#include \u003Cfunctional>\n\nusing namespace std;\n\n\u002F\u002Fnegate\nvoid test01()\n{\n    negate\u003Cint> n;\n    cout \u003C\u003C n(50) \u003C\u003C endl;\n}\n\n\u002F\u002Fplus\nvoid test02()\n{\n    plus\u003Cint> p;\n    cout \u003C\u003C p(10, 20) \u003C\u003C endl;\n}\n\nint main() {\n\n    test01();\n    test02();\n\n\n    return 0;\n}\n",[53,1697,1698,1704,1711,1715,1725,1729,1734,1742,1746,1756,1775,1779,1783,1788,1796,1800,1810,1833,1837,1841,1849,1853,1859,1866,1870,1874,1882],{"__ignoreMap":103},[107,1699,1700,1702],{"class":109,"line":110},[107,1701,114],{"class":113},[107,1703,118],{"class":117},[107,1705,1706,1708],{"class":109,"line":121},[107,1707,114],{"class":113},[107,1709,1710],{"class":117}," \u003Cfunctional>\n",[107,1712,1713],{"class":109,"line":129},[107,1714,133],{"emptyLinePlaceholder":132},[107,1716,1717,1719,1721,1723],{"class":109,"line":136},[107,1718,139],{"class":113},[107,1720,142],{"class":113},[107,1722,146],{"class":145},[107,1724,150],{"class":149},[107,1726,1727],{"class":109,"line":153},[107,1728,133],{"emptyLinePlaceholder":132},[107,1730,1731],{"class":109,"line":158},[107,1732,1733],{"class":161},"\u002F\u002Fnegate\n",[107,1735,1736,1738,1740],{"class":109,"line":165},[107,1737,259],{"class":113},[107,1739,262],{"class":145},[107,1741,265],{"class":149},[107,1743,1744],{"class":109,"line":174},[107,1745,177],{"class":149},[107,1747,1748,1751,1753],{"class":109,"line":180},[107,1749,1750],{"class":149},"    negate",[107,1752,884],{"class":113},[107,1754,1755],{"class":149}," n;\n",[107,1757,1758,1760,1762,1765,1767,1769,1771,1773],{"class":109,"line":186},[107,1759,282],{"class":149},[107,1761,285],{"class":113},[107,1763,1764],{"class":145}," n",[107,1766,197],{"class":149},[107,1768,1317],{"class":293},[107,1770,302],{"class":149},[107,1772,285],{"class":113},[107,1774,307],{"class":149},[107,1776,1777],{"class":109,"line":218},[107,1778,313],{"class":149},[107,1780,1781],{"class":109,"line":224},[107,1782,133],{"emptyLinePlaceholder":132},[107,1784,1785],{"class":109,"line":239},[107,1786,1787],{"class":161},"\u002F\u002Fplus\n",[107,1789,1790,1792,1794],{"class":109,"line":245},[107,1791,259],{"class":113},[107,1793,464],{"class":145},[107,1795,265],{"class":149},[107,1797,1798],{"class":109,"line":251},[107,1799,177],{"class":149},[107,1801,1802,1805,1807],{"class":109,"line":256},[107,1803,1804],{"class":149},"    plus",[107,1806,884],{"class":113},[107,1808,1809],{"class":149}," p;\n",[107,1811,1812,1814,1816,1819,1821,1823,1825,1827,1829,1831],{"class":109,"line":268},[107,1813,282],{"class":149},[107,1815,285],{"class":113},[107,1817,1818],{"class":145}," p",[107,1820,197],{"class":149},[107,1822,294],{"class":293},[107,1824,297],{"class":149},[107,1826,1291],{"class":293},[107,1828,302],{"class":149},[107,1830,285],{"class":113},[107,1832,307],{"class":149},[107,1834,1835],{"class":109,"line":273},[107,1836,313],{"class":149},[107,1838,1839],{"class":109,"line":279},[107,1840,133],{"emptyLinePlaceholder":132},[107,1842,1843,1845,1847],{"class":109,"line":310},[107,1844,200],{"class":113},[107,1846,653],{"class":145},[107,1848,656],{"class":149},[107,1850,1851],{"class":109,"line":316},[107,1852,133],{"emptyLinePlaceholder":132},[107,1854,1855,1857],{"class":109,"line":321},[107,1856,1078],{"class":145},[107,1858,682],{"class":149},[107,1860,1861,1864],{"class":109,"line":327},[107,1862,1863],{"class":145},"    test02",[107,1865,682],{"class":149},[107,1867,1868],{"class":109,"line":335},[107,1869,133],{"emptyLinePlaceholder":132},[107,1871,1872],{"class":109,"line":340},[107,1873,133],{"emptyLinePlaceholder":132},[107,1875,1876,1878,1880],{"class":109,"line":346},[107,1877,698],{"class":113},[107,1879,368],{"class":293},[107,1881,150],{"class":149},[107,1883,1884],{"class":109,"line":354},[107,1885,313],{"class":149},[25,1887,1888],{},[28,1889,712],{},[98,1891,1894],{"className":1892,"code":1893,"language":718,"meta":103},[716],"-50\n30\n",[53,1895,1893],{"__ignoreMap":103},[25,1897,1898,1899],{},"Summary: When using built-in function objects, you need to include the header file ",[53,1900,1901],{},"#include \u003Cfunctional>",[20,1903,1610],{"id":1904},"relation-functor",[25,1906,1907],{},[28,1908,1637],{},[32,1910,1911],{},[35,1912,1913],{},"Implement relationship comparison",[25,1915,1916],{},[28,1917,1650],{},[32,1919,1920,1926,1932,1938,1944,1950],{},[35,1921,1922,1925],{},[53,1923,1924],{},"template\u003Cclass T> bool equal_to\u003CT>","                    \u002F\u002Fequals",[35,1927,1928,1931],{},[53,1929,1930],{},"template\u003Cclass T> bool not_equal_to\u003CT>","            \u002F\u002Fnot equal to",[35,1933,1934,1937],{},[53,1935,1936],{},"template\u003Cclass T> bool greater\u003CT>","                      \u002F\u002Fgreater than",[35,1939,1940,1943],{},[53,1941,1942],{},"template\u003Cclass T> bool greater_equal\u003CT>","          \u002F\u002Fgreater than or equal to",[35,1945,1946,1949],{},[53,1947,1948],{},"template\u003Cclass T> bool less\u003CT>","                           \u002F\u002Fless than",[35,1951,1952,1955],{},[53,1953,1954],{},"template\u003Cclass T> bool less_equal\u003CT>","               \u002F\u002Fless than or equal to",[25,1957,1958],{},[28,1959,96],{},[98,1961,1963],{"className":100,"code":1962,"language":102,"meta":103,"style":103},"#include \u003Ciostream>\n#include \u003Cfunctional>\n#include \u003Cvector>\n#include \u003Calgorithm>\n\nusing namespace std;\n\nclass MyCompare\n{\npublic:\n    bool operator()(int v1,int v2)\n    {\n        return v1 > v2;\n    }\n};\nvoid test01()\n{\n    vector\u003Cint> v;\n\n    v.push_back(10);\n    v.push_back(30);\n    v.push_back(50);\n    v.push_back(40);\n    v.push_back(20);\n\n    for (vector\u003Cint>::iterator it = v.begin(); it != v.end(); it++) {\n        cout \u003C\u003C *it \u003C\u003C \" \";\n    }\n    cout \u003C\u003C endl;\n\n    \u002F\u002F自己实现仿函数\n    \u002F\u002Fsort(v.begin(), v.end(), MyCompare());\n    \u002F\u002FSTL内建仿函数  大于仿函数\n    sort(v.begin(), v.end(), greater\u003Cint>());\n\n    for (vector\u003Cint>::iterator it = v.begin(); it != v.end(); it++) {\n        cout \u003C\u003C *it \u003C\u003C \" \";\n    }\n    cout \u003C\u003C endl;\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[53,1964,1965,1971,1977,1983,1989,1993,2003,2007,2013,2017,2021,2043,2047,2057,2061,2065,2073,2077,2085,2089,2101,2113,2125,2137,2149,2153,2187,2203,2207,2215,2219,2224,2229,2234,2258,2262,2296,2312,2316,2324,2328,2332,2340,2344,2350,2354,2358,2366],{"__ignoreMap":103},[107,1966,1967,1969],{"class":109,"line":110},[107,1968,114],{"class":113},[107,1970,118],{"class":117},[107,1972,1973,1975],{"class":109,"line":121},[107,1974,114],{"class":113},[107,1976,1710],{"class":117},[107,1978,1979,1981],{"class":109,"line":129},[107,1980,114],{"class":113},[107,1982,778],{"class":117},[107,1984,1985,1987],{"class":109,"line":136},[107,1986,114],{"class":113},[107,1988,785],{"class":117},[107,1990,1991],{"class":109,"line":153},[107,1992,133],{"emptyLinePlaceholder":132},[107,1994,1995,1997,1999,2001],{"class":109,"line":158},[107,1996,139],{"class":113},[107,1998,142],{"class":113},[107,2000,146],{"class":145},[107,2002,150],{"class":149},[107,2004,2005],{"class":109,"line":165},[107,2006,133],{"emptyLinePlaceholder":132},[107,2008,2009,2011],{"class":109,"line":174},[107,2010,168],{"class":113},[107,2012,1174],{"class":145},[107,2014,2015],{"class":109,"line":180},[107,2016,177],{"class":149},[107,2018,2019],{"class":109,"line":186},[107,2020,343],{"class":113},[107,2022,2023,2025,2027,2029,2031,2033,2035,2037,2039,2041],{"class":109,"line":218},[107,2024,823],{"class":113},[107,2026,192],{"class":113},[107,2028,55],{"class":145},[107,2030,197],{"class":149},[107,2032,200],{"class":113},[107,2034,204],{"class":203},[107,2036,207],{"class":149},[107,2038,200],{"class":113},[107,2040,212],{"class":203},[107,2042,215],{"class":149},[107,2044,2045],{"class":109,"line":224},[107,2046,221],{"class":149},[107,2048,2049,2051,2053,2055],{"class":109,"line":239},[107,2050,227],{"class":113},[107,2052,230],{"class":149},[107,2054,847],{"class":113},[107,2056,236],{"class":149},[107,2058,2059],{"class":109,"line":245},[107,2060,242],{"class":149},[107,2062,2063],{"class":109,"line":251},[107,2064,248],{"class":149},[107,2066,2067,2069,2071],{"class":109,"line":256},[107,2068,259],{"class":113},[107,2070,262],{"class":145},[107,2072,265],{"class":149},[107,2074,2075],{"class":109,"line":268},[107,2076,177],{"class":149},[107,2078,2079,2081,2083],{"class":109,"line":273},[107,2080,881],{"class":149},[107,2082,884],{"class":113},[107,2084,887],{"class":149},[107,2086,2087],{"class":109,"line":279},[107,2088,133],{"emptyLinePlaceholder":132},[107,2090,2091,2093,2095,2097,2099],{"class":109,"line":310},[107,2092,1259],{"class":149},[107,2094,932],{"class":145},[107,2096,197],{"class":149},[107,2098,294],{"class":293},[107,2100,491],{"class":149},[107,2102,2103,2105,2107,2109,2111],{"class":109,"line":316},[107,2104,1259],{"class":149},[107,2106,932],{"class":145},[107,2108,197],{"class":149},[107,2110,1304],{"class":293},[107,2112,491],{"class":149},[107,2114,2115,2117,2119,2121,2123],{"class":109,"line":321},[107,2116,1259],{"class":149},[107,2118,932],{"class":145},[107,2120,197],{"class":149},[107,2122,1317],{"class":293},[107,2124,491],{"class":149},[107,2126,2127,2129,2131,2133,2135],{"class":109,"line":327},[107,2128,1259],{"class":149},[107,2130,932],{"class":145},[107,2132,197],{"class":149},[107,2134,1278],{"class":293},[107,2136,491],{"class":149},[107,2138,2139,2141,2143,2145,2147],{"class":109,"line":335},[107,2140,1259],{"class":149},[107,2142,932],{"class":145},[107,2144,197],{"class":149},[107,2146,1291],{"class":293},[107,2148,491],{"class":149},[107,2150,2151],{"class":109,"line":340},[107,2152,133],{"emptyLinePlaceholder":132},[107,2154,2155,2157,2159,2161,2163,2165,2167,2169,2171,2173,2175,2177,2179,2181,2183,2185],{"class":109,"line":346},[107,2156,892],{"class":113},[107,2158,895],{"class":149},[107,2160,1352],{"class":145},[107,2162,910],{"class":149},[107,2164,200],{"class":113},[107,2166,954],{"class":149},[107,2168,365],{"class":113},[107,2170,994],{"class":149},[107,2172,965],{"class":145},[107,2174,1367],{"class":149},[107,2176,1370],{"class":113},[107,2178,994],{"class":149},[107,2180,971],{"class":145},[107,2182,1377],{"class":149},[107,2184,424],{"class":113},[107,2186,837],{"class":149},[107,2188,2189,2191,2193,2195,2197,2199,2201],{"class":109,"line":354},[107,2190,406],{"class":149},[107,2192,285],{"class":113},[107,2194,1038],{"class":113},[107,2196,1041],{"class":149},[107,2198,285],{"class":113},[107,2200,1400],{"class":117},[107,2202,150],{"class":149},[107,2204,2205],{"class":109,"line":359},[107,2206,242],{"class":149},[107,2208,2209,2211,2213],{"class":109,"line":373},[107,2210,282],{"class":149},[107,2212,285],{"class":113},[107,2214,307],{"class":149},[107,2216,2217],{"class":109,"line":378},[107,2218,133],{"emptyLinePlaceholder":132},[107,2220,2221],{"class":109,"line":398},[107,2222,2223],{"class":161},"    \u002F\u002F自己实现仿函数\n",[107,2225,2226],{"class":109,"line":403},[107,2227,2228],{"class":161},"    \u002F\u002Fsort(v.begin(), v.end(), MyCompare());\n",[107,2230,2231],{"class":109,"line":418},[107,2232,2233],{"class":161},"    \u002F\u002FSTL内建仿函数  大于仿函数\n",[107,2235,2236,2238,2240,2242,2244,2246,2248,2251,2253,2255],{"class":109,"line":433},[107,2237,1333],{"class":145},[107,2239,962],{"class":149},[107,2241,965],{"class":145},[107,2243,968],{"class":149},[107,2245,971],{"class":145},[107,2247,974],{"class":149},[107,2249,2250],{"class":145},"greater",[107,2252,910],{"class":149},[107,2254,200],{"class":113},[107,2256,2257],{"class":149},">());\n",[107,2259,2260],{"class":109,"line":438},[107,2261,133],{"emptyLinePlaceholder":132},[107,2263,2264,2266,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294],{"class":109,"line":443},[107,2265,892],{"class":113},[107,2267,895],{"class":149},[107,2269,1352],{"class":145},[107,2271,910],{"class":149},[107,2273,200],{"class":113},[107,2275,954],{"class":149},[107,2277,365],{"class":113},[107,2279,994],{"class":149},[107,2281,965],{"class":145},[107,2283,1367],{"class":149},[107,2285,1370],{"class":113},[107,2287,994],{"class":149},[107,2289,971],{"class":145},[107,2291,1377],{"class":149},[107,2293,424],{"class":113},[107,2295,837],{"class":149},[107,2297,2298,2300,2302,2304,2306,2308,2310],{"class":109,"line":454},[107,2299,406],{"class":149},[107,2301,285],{"class":113},[107,2303,1038],{"class":113},[107,2305,1041],{"class":149},[107,2307,285],{"class":113},[107,2309,1400],{"class":117},[107,2311,150],{"class":149},[107,2313,2314],{"class":109,"line":459},[107,2315,242],{"class":149},[107,2317,2318,2320,2322],{"class":109,"line":469},[107,2319,282],{"class":149},[107,2321,285],{"class":113},[107,2323,307],{"class":149},[107,2325,2326],{"class":109,"line":474},[107,2327,313],{"class":149},[107,2329,2330],{"class":109,"line":480},[107,2331,133],{"emptyLinePlaceholder":132},[107,2333,2334,2336,2338],{"class":109,"line":494},[107,2335,200],{"class":113},[107,2337,653],{"class":145},[107,2339,656],{"class":149},[107,2341,2342],{"class":109,"line":505},[107,2343,133],{"emptyLinePlaceholder":132},[107,2345,2346,2348],{"class":109,"line":516},[107,2347,1078],{"class":145},[107,2349,682],{"class":149},[107,2351,2352],{"class":109,"line":536},[107,2353,133],{"emptyLinePlaceholder":132},[107,2355,2356],{"class":109,"line":541},[107,2357,133],{"emptyLinePlaceholder":132},[107,2359,2360,2362,2364],{"class":109,"line":546},[107,2361,698],{"class":113},[107,2363,368],{"class":293},[107,2365,150],{"class":149},[107,2367,2368],{"class":109,"line":552},[107,2369,313],{"class":149},[25,2371,2372],{},[28,2373,712],{},[98,2375,2378],{"className":2376,"code":2377,"language":718,"meta":103},[716],"10 30 50 40 20\n50 40 30 20 10\n",[53,2379,2377],{"__ignoreMap":103},[25,2381,2382],{},"Summary: The most commonly used among relational functors is the greater\u003C> than functor.",[20,2384,1613],{"id":2385},"logic-functor",[25,2387,2388],{},[28,2389,1637],{},[32,2391,2392],{},[35,2393,2394],{},"Implement logical operations",[25,2396,2397],{},[28,2398,2399],{},"Function prototype:",[32,2401,2402,2408,2414],{},[35,2403,2404,2407],{},[53,2405,2406],{},"template\u003Cclass T> bool logical_and\u003CT>","              \u002F\u002FLogic AND",[35,2409,2410,2413],{},[53,2411,2412],{},"template\u003Cclass T> bool logical_or\u003CT>","                \u002F\u002Flogical OR",[35,2415,2416,2419],{},[53,2417,2418],{},"template\u003Cclass T> bool logical_not\u003CT>","              \u002F\u002Flogical NOT",[25,2421,2422],{},[28,2423,96],{},[98,2425,2427],{"className":100,"code":2426,"language":102,"meta":103,"style":103},"#include \u003Ciostream>\n#include \u003Cvector>\n#include \u003Cfunctional>\n#include \u003Calgorithm>\n\nusing namespace std;\n\nvoid test01()\n{\n    vector\u003Cbool> v;\n    v.push_back(true);\n    v.push_back(false);\n    v.push_back(true);\n    v.push_back(false);\n\n    for (vector\u003Cbool>::iterator it = v.begin();it!= v.end();it++)\n    {\n        cout \u003C\u003C *it \u003C\u003C \" \";\n    }\n    cout \u003C\u003C endl;\n\n    \u002F\u002F逻辑非  将v容器搬运到v2中，并执行逻辑非运算\n    vector\u003Cbool> v2;\n    v2.resize(v.size());\n    transform(v.begin(), v.end(),  v2.begin(), logical_not\u003Cbool>());\n    for (vector\u003Cbool>::iterator it = v2.begin(); it != v2.end(); it++)\n    {\n        cout \u003C\u003C *it \u003C\u003C \" \";\n    }\n    cout \u003C\u003C endl;\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[53,2428,2429,2435,2441,2447,2453,2457,2467,2471,2479,2483,2492,2505,2518,2530,2542,2546,2582,2586,2602,2606,2614,2618,2623,2631,2646,2675,2710,2714,2730,2734,2742,2746,2750,2758,2762,2768,2772,2776,2784],{"__ignoreMap":103},[107,2430,2431,2433],{"class":109,"line":110},[107,2432,114],{"class":113},[107,2434,118],{"class":117},[107,2436,2437,2439],{"class":109,"line":121},[107,2438,114],{"class":113},[107,2440,778],{"class":117},[107,2442,2443,2445],{"class":109,"line":129},[107,2444,114],{"class":113},[107,2446,1710],{"class":117},[107,2448,2449,2451],{"class":109,"line":136},[107,2450,114],{"class":113},[107,2452,785],{"class":117},[107,2454,2455],{"class":109,"line":153},[107,2456,133],{"emptyLinePlaceholder":132},[107,2458,2459,2461,2463,2465],{"class":109,"line":158},[107,2460,139],{"class":113},[107,2462,142],{"class":113},[107,2464,146],{"class":145},[107,2466,150],{"class":149},[107,2468,2469],{"class":109,"line":165},[107,2470,133],{"emptyLinePlaceholder":132},[107,2472,2473,2475,2477],{"class":109,"line":174},[107,2474,259],{"class":113},[107,2476,262],{"class":145},[107,2478,265],{"class":149},[107,2480,2481],{"class":109,"line":180},[107,2482,177],{"class":149},[107,2484,2485,2487,2490],{"class":109,"line":186},[107,2486,881],{"class":149},[107,2488,2489],{"class":113},"\u003Cbool>",[107,2491,887],{"class":149},[107,2493,2494,2496,2498,2500,2503],{"class":109,"line":218},[107,2495,1259],{"class":149},[107,2497,932],{"class":145},[107,2499,197],{"class":149},[107,2501,2502],{"class":293},"true",[107,2504,491],{"class":149},[107,2506,2507,2509,2511,2513,2516],{"class":109,"line":224},[107,2508,1259],{"class":149},[107,2510,932],{"class":145},[107,2512,197],{"class":149},[107,2514,2515],{"class":293},"false",[107,2517,491],{"class":149},[107,2519,2520,2522,2524,2526,2528],{"class":109,"line":239},[107,2521,1259],{"class":149},[107,2523,932],{"class":145},[107,2525,197],{"class":149},[107,2527,2502],{"class":293},[107,2529,491],{"class":149},[107,2531,2532,2534,2536,2538,2540],{"class":109,"line":245},[107,2533,1259],{"class":149},[107,2535,932],{"class":145},[107,2537,197],{"class":149},[107,2539,2515],{"class":293},[107,2541,491],{"class":149},[107,2543,2544],{"class":109,"line":251},[107,2545,133],{"emptyLinePlaceholder":132},[107,2547,2548,2550,2552,2554,2556,2559,2561,2563,2565,2567,2570,2572,2574,2576,2578,2580],{"class":109,"line":256},[107,2549,892],{"class":113},[107,2551,895],{"class":149},[107,2553,1352],{"class":145},[107,2555,910],{"class":149},[107,2557,2558],{"class":113},"bool",[107,2560,954],{"class":149},[107,2562,365],{"class":113},[107,2564,994],{"class":149},[107,2566,965],{"class":145},[107,2568,2569],{"class":149},"();it",[107,2571,1370],{"class":113},[107,2573,994],{"class":149},[107,2575,971],{"class":145},[107,2577,2569],{"class":149},[107,2579,424],{"class":113},[107,2581,215],{"class":149},[107,2583,2584],{"class":109,"line":268},[107,2585,221],{"class":149},[107,2587,2588,2590,2592,2594,2596,2598,2600],{"class":109,"line":273},[107,2589,406],{"class":149},[107,2591,285],{"class":113},[107,2593,1038],{"class":113},[107,2595,1041],{"class":149},[107,2597,285],{"class":113},[107,2599,1400],{"class":117},[107,2601,150],{"class":149},[107,2603,2604],{"class":109,"line":279},[107,2605,242],{"class":149},[107,2607,2608,2610,2612],{"class":109,"line":310},[107,2609,282],{"class":149},[107,2611,285],{"class":113},[107,2613,307],{"class":149},[107,2615,2616],{"class":109,"line":316},[107,2617,133],{"emptyLinePlaceholder":132},[107,2619,2620],{"class":109,"line":321},[107,2621,2622],{"class":161},"    \u002F\u002F逻辑非  将v容器搬运到v2中，并执行逻辑非运算\n",[107,2624,2625,2627,2629],{"class":109,"line":327},[107,2626,881],{"class":149},[107,2628,2489],{"class":113},[107,2630,236],{"class":149},[107,2632,2633,2636,2639,2641,2644],{"class":109,"line":335},[107,2634,2635],{"class":149},"    v2.",[107,2637,2638],{"class":145},"resize",[107,2640,962],{"class":149},[107,2642,2643],{"class":145},"size",[107,2645,980],{"class":149},[107,2647,2648,2651,2653,2655,2657,2659,2662,2664,2666,2669,2671,2673],{"class":109,"line":340},[107,2649,2650],{"class":145},"    transform",[107,2652,962],{"class":149},[107,2654,965],{"class":145},[107,2656,968],{"class":149},[107,2658,971],{"class":145},[107,2660,2661],{"class":149},"(),  v2.",[107,2663,965],{"class":145},[107,2665,974],{"class":149},[107,2667,2668],{"class":145},"logical_not",[107,2670,910],{"class":149},[107,2672,2558],{"class":113},[107,2674,2257],{"class":149},[107,2676,2677,2679,2681,2683,2685,2687,2689,2691,2694,2696,2698,2700,2702,2704,2706,2708],{"class":109,"line":346},[107,2678,892],{"class":113},[107,2680,895],{"class":149},[107,2682,1352],{"class":145},[107,2684,910],{"class":149},[107,2686,2558],{"class":113},[107,2688,954],{"class":149},[107,2690,365],{"class":113},[107,2692,2693],{"class":149}," v2.",[107,2695,965],{"class":145},[107,2697,1367],{"class":149},[107,2699,1370],{"class":113},[107,2701,2693],{"class":149},[107,2703,971],{"class":145},[107,2705,1377],{"class":149},[107,2707,424],{"class":113},[107,2709,215],{"class":149},[107,2711,2712],{"class":109,"line":354},[107,2713,221],{"class":149},[107,2715,2716,2718,2720,2722,2724,2726,2728],{"class":109,"line":359},[107,2717,406],{"class":149},[107,2719,285],{"class":113},[107,2721,1038],{"class":113},[107,2723,1041],{"class":149},[107,2725,285],{"class":113},[107,2727,1400],{"class":117},[107,2729,150],{"class":149},[107,2731,2732],{"class":109,"line":373},[107,2733,242],{"class":149},[107,2735,2736,2738,2740],{"class":109,"line":378},[107,2737,282],{"class":149},[107,2739,285],{"class":113},[107,2741,307],{"class":149},[107,2743,2744],{"class":109,"line":398},[107,2745,313],{"class":149},[107,2747,2748],{"class":109,"line":403},[107,2749,133],{"emptyLinePlaceholder":132},[107,2751,2752,2754,2756],{"class":109,"line":418},[107,2753,200],{"class":113},[107,2755,653],{"class":145},[107,2757,656],{"class":149},[107,2759,2760],{"class":109,"line":433},[107,2761,133],{"emptyLinePlaceholder":132},[107,2763,2764,2766],{"class":109,"line":438},[107,2765,1078],{"class":145},[107,2767,682],{"class":149},[107,2769,2770],{"class":109,"line":443},[107,2771,133],{"emptyLinePlaceholder":132},[107,2773,2774],{"class":109,"line":454},[107,2775,133],{"emptyLinePlaceholder":132},[107,2777,2778,2780,2782],{"class":109,"line":459},[107,2779,698],{"class":113},[107,2781,368],{"class":293},[107,2783,150],{"class":149},[107,2785,2786],{"class":109,"line":469},[107,2787,313],{"class":149},[25,2789,2790],{},[28,2791,712],{},[98,2793,2796],{"className":2794,"code":2795,"language":718,"meta":103},[716],"1 0 1 0\n0 1 0 1\n",[53,2797,2795],{"__ignoreMap":103},[25,2799,2800],{},"Summary: Logic functors are rarely used in practice, so just be aware of them.",[2802,2803,2804],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":103,"searchDepth":121,"depth":121,"links":2806},[2807],{"id":12,"depth":121,"text":13,"children":2808},[2809,2810,2811],{"id":17,"depth":129,"text":18},{"id":731,"depth":129,"text":731},{"id":1583,"depth":129,"text":1584},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci","1800-1100","2023-10-05","wiki\u002F2023-10-05-cplusplus-jiao-xue","en-us:2023-10-05-cplusplus-jiao-xue","\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue","Cplusplus教学","md","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-1100-函数对象与谓词",false,null,"en-US","en-us",{},{"title":5,"description":103},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-1100-函数对象与谓词","CZe13v-u6zz4RXIIPjOSVTDowTdXU_m1HQ9jHF3xQZA",[2831,2837,2842,2847,2852,2857,2862,2867,2872,2877,2882,2887,2892,2897,2902,2907,2912,2917,2922,2927,2932,2937,2942,2947,2952,2957,2962,2967,2972,2977,2982,2987,2992,2997,2998,3003,3008,3013,3018,3023,3027,3032,3037,3042,3047,3052,3057,3062,3067,3072,3077,3082,3087,3092,3097,3102,3107,3112,3117,3122,3127,3132,3137,3142,3147,3152,3157,3162,3167,3172,3177,3182,3187,3192,3197,3202,3207,3212,3217,3222,3227,3232],{"path":2832,"stem":2833,"title":2834,"date":2814,"chapterOrder":2835,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0100-c-kai-fa-huan-jing-da-jian-yu-ce-shi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0100-C++开发环境搭建与测试","C++ Development Environment Setup and Testing","0100",0,{"path":2838,"stem":2839,"title":2840,"date":2814,"chapterOrder":2841,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0200-C++基础初识","C++ Basics","0200",{"path":2843,"stem":2844,"title":2845,"date":2814,"chapterOrder":2846,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0300-shu-ju-lei-xing-yu-shu-ju-cun-fang","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0300-数据类型与数据存放","Data Types and Data Storage","0300",{"path":2848,"stem":2849,"title":2850,"date":2814,"chapterOrder":2851,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0400-shu-ru-shu-chu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0400-输入输出","Input and Output","0400",{"path":2853,"stem":2854,"title":2855,"date":2814,"chapterOrder":2856,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0500-yun-suan-fu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0500-运算符","operator","0500",{"path":2858,"stem":2859,"title":2860,"date":2814,"chapterOrder":2861,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0600-cheng-xu-liu-cheng-jie-gou","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0600-程序流程结构","program flow structure","0600",{"path":2863,"stem":2864,"title":2865,"date":2814,"chapterOrder":2866,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0700-shu-zu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0700-数组","array","0700",{"path":2868,"stem":2869,"title":2870,"date":2814,"chapterOrder":2871,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0800-han-shu-yu-tou-wen-jian","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0800-函数与头文件","Functions and Header Files","0800",{"path":2873,"stem":2874,"title":2875,"date":2814,"chapterOrder":2876,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0900-zhi-zhen","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0900-指针","pointer","0900",{"path":2878,"stem":2879,"title":2880,"date":2814,"chapterOrder":2881,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1000-jie-gou-ti-yu-gong-yong-ti","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1000-结构体与共用体","Structures and Unions","1000",{"path":2883,"stem":2884,"title":2885,"date":2814,"chapterOrder":2886,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1100-nei-cun-fen-qu-yu-sheng-ming-zhou-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1100-内存分区与生命周期","Memory Partitioning and Lifecycle","1100",{"path":2888,"stem":2889,"title":2890,"date":2814,"chapterOrder":2891,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1200-引用","reference","1200",{"path":2893,"stem":2894,"title":2895,"date":2814,"chapterOrder":2896,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1300-han-shu-ti-gao-yu-ming-ming-kong-jian","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1300-函数提高与命名空间","Advanced Functions and Namespaces","1300",{"path":2898,"stem":2899,"title":2900,"date":2814,"chapterOrder":2901,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0100-feng-zhuang","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0100-封装","encapsulation","1400-0100",{"path":2903,"stem":2904,"title":2905,"date":2814,"chapterOrder":2906,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0200-dui-xiang-chu-shi-hua-he-qing-li","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0200-对象初始化和清理","Object initialization and cleanup","1400-0200",{"path":2908,"stem":2909,"title":2910,"date":2814,"chapterOrder":2911,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0300-对象模型与this指针","Object Model and the `this` Pointer","1400-0300",{"path":2913,"stem":2914,"title":2915,"date":2814,"chapterOrder":2916,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0400-you-yuan-yu-yun-suan-fu-zhong-zai","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0400-友元与运算符重载","Friends and operator overloading","1400-0400",{"path":2918,"stem":2919,"title":2920,"date":2814,"chapterOrder":2921,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0500-ji-cheng","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0500-继承","inheritance","1400-0500",{"path":2923,"stem":2924,"title":2925,"date":2814,"chapterOrder":2926,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0600-duo-tai","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0600-多态","polymorphism","1400-0600",{"path":2928,"stem":2929,"title":2930,"date":2814,"chapterOrder":2931,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-lei-he-dui-xiang","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-类和对象","Classes and Objects","1400",{"path":2933,"stem":2934,"title":2935,"date":2814,"chapterOrder":2936,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1500-wen-jian-cao-zuo","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1500-文件操作","File operations","1500",{"path":2938,"stem":2939,"title":2940,"date":2814,"chapterOrder":2941,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1600-yi-chang-chu-li-yu-cuo-wu-ma","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1600-异常处理与错误码","异常处理","1600",{"path":2943,"stem":2944,"title":2945,"date":2814,"chapterOrder":2946,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1700-mu-ban","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1700-模板","template","1700",{"path":2948,"stem":2949,"title":2950,"date":2814,"chapterOrder":2951,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0100-stl-chu-shi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0100-STL初识","Introduction to STL","1800-0100",{"path":2953,"stem":2954,"title":2955,"date":2814,"chapterOrder":2956,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0200-std-array","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0200-std-array","std::array","1800-0200",{"path":2958,"stem":2959,"title":2960,"date":2814,"chapterOrder":2961,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0300-string-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0300-string容器","string container","1800-0300",{"path":2963,"stem":2964,"title":2965,"date":2814,"chapterOrder":2966,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0400-vector-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0400-vector容器","vector 容器","1800-0400",{"path":2968,"stem":2969,"title":2970,"date":2814,"chapterOrder":2971,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0500-deque-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0500-deque容器","deque 容器","1800-0500",{"path":2973,"stem":2974,"title":2975,"date":2814,"chapterOrder":2976,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0600-stack-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0600-stack容器","stack 容器","1800-0600",{"path":2978,"stem":2979,"title":2980,"date":2814,"chapterOrder":2981,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0700-queue-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0700-queue容器","queue container","1800-0700",{"path":2983,"stem":2984,"title":2985,"date":2814,"chapterOrder":2986,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0800-list-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0800-list容器","list 容器","1800-0800",{"path":2988,"stem":2989,"title":2990,"date":2814,"chapterOrder":2991,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0900-set-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0900-set容器","set \u002F multiset 容器","1800-0900",{"path":2993,"stem":2994,"title":2995,"date":2814,"chapterOrder":2996,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1000-map-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-1000-map容器","map \u002F multimap 容器","1800-1000",{"path":2812,"stem":2828,"title":5,"date":2814,"chapterOrder":2813,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},{"path":2999,"stem":3000,"title":3001,"date":2814,"chapterOrder":3002,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1200-chang-yong-suan-fa","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-1200-常用算法","Common algorithms","1800-1200",{"path":3004,"stem":3005,"title":3006,"date":2814,"chapterOrder":3007,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-stl-ti-gao-bian-cheng","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-STL提高编程","Level up your programming with STL.","1800",{"path":3009,"stem":3010,"title":3011,"date":2814,"chapterOrder":3012,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1900-c-lei-xing-zhuan-huan","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1900-C++类型转换","C++ Type Casting","1900",{"path":3014,"stem":3015,"title":3016,"date":2814,"chapterOrder":3017,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0100-auto","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0100-auto","auto","2000-0100",{"path":3019,"stem":3020,"title":3021,"date":2814,"chapterOrder":3022,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0200-nullptr","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0200-nullptr","nullptr","2000-0200",{"path":3024,"stem":3025,"title":139,"date":2814,"chapterOrder":3026,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0300-using","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0300-using","2000-0300",{"path":3028,"stem":3029,"title":3030,"date":2814,"chapterOrder":3031,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0400-enum-class","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0400-enum-class","enum class","2000-0400",{"path":3033,"stem":3034,"title":3035,"date":2814,"chapterOrder":3036,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0500-fan-wei-for-xun-huan","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0500-范围for循环","range-based for loop","2000-0500",{"path":3038,"stem":3039,"title":3040,"date":2814,"chapterOrder":3041,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0600-jie-gou-hua-bang-ding","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0600-结构化绑定","structured binding","2000-0600",{"path":3043,"stem":3044,"title":3045,"date":2814,"chapterOrder":3046,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0700-constexpr","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0700-constexpr","constexpr","2000-0700",{"path":3048,"stem":3049,"title":3050,"date":2814,"chapterOrder":3051,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0800-raii","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0800-RAII","RAII","2000-0800",{"path":3053,"stem":3054,"title":3055,"date":2814,"chapterOrder":3056,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0900-zhi-neng-zhi-zhen","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0900-智能指针","Smart pointer","2000-0900",{"path":3058,"stem":3059,"title":3060,"date":2814,"chapterOrder":3061,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1000-you-zhi-yin-yong-he-yi-dong-yu-yi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1000-右值引用和移动语义","Rvalue references and move semantics","2000-1000",{"path":3063,"stem":3064,"title":3065,"date":2814,"chapterOrder":3066,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1100-lambda-biao-da-shi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1100-Lambda表达式","Lambda expression","2000-1100",{"path":3068,"stem":3069,"title":3070,"date":2814,"chapterOrder":3071,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1200-std-function","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1200-std-function","std::function","2000-1200",{"path":3073,"stem":3074,"title":3075,"date":2814,"chapterOrder":3076,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1300-std-bind","std::bind","2000-1300",{"path":3078,"stem":3079,"title":3080,"date":2814,"chapterOrder":3081,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1400-std-optional","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1400-std-optional","std::optional","2000-1400",{"path":3083,"stem":3084,"title":3085,"date":2814,"chapterOrder":3086,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1500-std-variant","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1500-std-variant","std::variant","2000-1500",{"path":3088,"stem":3089,"title":3090,"date":2814,"chapterOrder":3091,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1600-std-span","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1600-std-span","std::span","2000-1600",{"path":3093,"stem":3094,"title":3095,"date":2814,"chapterOrder":3096,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1700-std-format-print","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1700-std-format-print","std::format \u002F std::print","2000-1700",{"path":3098,"stem":3099,"title":3100,"date":2814,"chapterOrder":3101,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1800-std-chrono","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1800-std-chrono","std::chrono","2000-1800",{"path":3103,"stem":3104,"title":3105,"date":2814,"chapterOrder":3106,"chapterDepth":121,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0100-std-thread","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0100-std-thread","std::thread and join","2000-1900-0100",{"path":3108,"stem":3109,"title":3110,"date":2814,"chapterOrder":3111,"chapterDepth":121,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0200-mutex-lock-guard","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0200-mutex-lock-guard","mutex 与 lock_guard","2000-1900-0200",{"path":3113,"stem":3114,"title":3115,"date":2814,"chapterOrder":3116,"chapterDepth":121,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0300-std-atomic","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0300-std-atomic","std::atomic","2000-1900-0300",{"path":3118,"stem":3119,"title":3120,"date":2814,"chapterOrder":3121,"chapterDepth":121,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0400-condition-variable","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0400-condition-variable","condition_variable","2000-1900-0400",{"path":3123,"stem":3124,"title":3125,"date":2814,"chapterOrder":3126,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-并发编程","Concurrent programming","2000-1900",{"path":3128,"stem":3129,"title":3130,"date":2814,"chapterOrder":3131,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2000-std-filesystem","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-2000-std-filesystem","std::filesystem","2000-2000",{"path":3133,"stem":3134,"title":3135,"date":2814,"chapterOrder":3136,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2100-modules-jian-jie","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-2100-modules简介","Modules Introduction","2000-2100",{"path":3138,"stem":3139,"title":3140,"date":2814,"chapterOrder":3141,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-现代C++","Modern C++","2000",{"path":3143,"stem":3144,"title":3145,"date":2814,"chapterOrder":3146,"chapterDepth":121,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0100-ding-shi-qi-yu-yi-bu-io","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0100-定时器与异步IO","Timers and Asynchronous I\u002FO","2100-0100-0100",{"path":3148,"stem":3149,"title":3150,"date":2814,"chapterOrder":3151,"chapterDepth":121,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0200-boost-asio-ji-chu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0200-Boost.Asio基础","Boost.Asio Basics","2100-0100-0200",{"path":3153,"stem":3154,"title":3155,"date":2814,"chapterOrder":3156,"chapterDepth":121,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0300-chuan-kou-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0300-串口通信","serial communication","2100-0100-0300",{"path":3158,"stem":3159,"title":3160,"date":2814,"chapterOrder":3161,"chapterDepth":121,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0400-tcp-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0400-TCP通信","TCP communication","2100-0100-0400",{"path":3163,"stem":3164,"title":3165,"date":2814,"chapterOrder":3166,"chapterDepth":121,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0500-udp-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0500-UDP通信","UDP communication","2100-0100-0500",{"path":3168,"stem":3169,"title":3170,"date":2814,"chapterOrder":3171,"chapterDepth":121,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0600-ji-qi-ren-gong-cheng-xie-fa-yu-ros2-ji-cheng","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0600-机器人工程写法与ROS2集成","Robot Engineering Approach and ROS2 Integration","2100-0100-0600",{"path":3173,"stem":3174,"title":3175,"date":2814,"chapterOrder":3176,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-boost-asio-yi-bu-io-ku","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-Boost.Asio异步IO库","Boost.Asio asynchronous IO library","2100-0100",{"path":3178,"stem":3179,"title":3180,"date":2814,"chapterOrder":3181,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0200-eigen-xian-xing-dai-shu-ku","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0200-Eigen线性代数库","Eigen linear algebra library","2100-0200",{"path":3183,"stem":3184,"title":3185,"date":2814,"chapterOrder":3186,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0300-opencv-ji-suan-ji-shi-jue-ku","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0300-OpenCV计算机视觉库","OpenCV Computer Vision Library","2100-0300",{"path":3188,"stem":3189,"title":3190,"date":2814,"chapterOrder":3191,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0400-pcl-dian-yun-ku","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0400-PCL点云库","PCL Point Cloud Library","2100-0400",{"path":3193,"stem":3194,"title":3195,"date":2814,"chapterOrder":3196,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0500-sophus-li-qun-li-dai-shu-ku","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0500-Sophus李群李代数库","Sophus Lie group and Lie algebra library","2100-0500",{"path":3198,"stem":3199,"title":3200,"date":2814,"chapterOrder":3201,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-chang-yong-ku","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-常用库","Learning Common Libraries","2100",{"path":3203,"stem":3204,"title":3205,"date":2814,"chapterOrder":3206,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0100-cmakepresets-yu-gou-jian-an-zhuang","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0100-CMakePresets与构建安装","CMakePresets and Build Installation","2200-0100",{"path":3208,"stem":3209,"title":3210,"date":2814,"chapterOrder":3211,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0200-ding-ceng-cmake-yu-gong-gong-bian-yi-xuan-xiang","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0200-顶层CMake与公共编译选项","Top-level CMake and Public Compilation Options","2200-0200",{"path":3213,"stem":3214,"title":3215,"date":2814,"chapterOrder":3216,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0300-src-yu-lib-mo-kuai-cmake-xiang-jie","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0300-src与lib模块CMake详解","Detailed CMake Explanation for src and lib Modules","2200-0300",{"path":3218,"stem":3219,"title":3220,"date":2814,"chapterOrder":3221,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0400-di-san-fang-ku-yi-lai-xie-fa","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0400-第三方库依赖写法","How to write third-party library dependencies","2200-0400",{"path":3223,"stem":3224,"title":3225,"date":2814,"chapterOrder":3226,"chapterDepth":110,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0500-mu-ban-kuo-zhan-yu-chang-jian-wen-ti","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0500-模板扩展与常见问题","Template Extensions and FAQ","2200-0500",{"path":3228,"stem":3229,"title":3230,"date":2814,"chapterOrder":3231,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":2821},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-cmake-gong-cheng-mu-ban","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-CMake工程模板","CMake Project Template","2200",{"path":2817,"stem":3233,"title":3234,"date":2814,"chapterOrder":2822,"chapterDepth":2836,"docKey":2816,"docRoot":2817,"docTitle":2818,"isWikiDoc":132,"isWikiIndex":132},"_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002Findex","C\u002FC++ tutorial",{"variants":3236},[3237,3238,3241,3244,3247],{"path":2812,"localeSlug":2824,"i18nKey":2820},{"path":3239,"localeSlug":3240,"i18nKey":2820},"\u002Fzh-hant\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci","zh-hant",{"path":3242,"localeSlug":3243,"i18nKey":2820},"\u002Fzh-hk\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci","zh-hk",{"path":3245,"localeSlug":3246,"i18nKey":2820},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci","zh-tw",{"path":3248,"localeSlug":3249,"i18nKey":2820},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci","zh-cn",[2812,2827,3239,2827,3242,2827,3245,2827,3248,2827],1784646865809]