[{"data":1,"prerenderedAt":2711},["ShallowReactive",2],{"wiki-page-\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind":3,"wiki-doc-items-\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind":2289,"language-switcher-data-\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind":2695,"wiki-i18n-paths-\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind":2710},{"id":4,"title":5,"body":6,"canonicalPath":2271,"chapterDepth":170,"chapterOrder":2272,"date":2273,"description":163,"docI18nKey":2274,"docKey":2275,"docRoot":2276,"docTitle":2277,"extension":2278,"i18nKey":2279,"isBlogPost":2280,"isWikiDoc":200,"isWikiIndex":2280,"layout":2281,"legacyPath":2281,"locale":2282,"localeSlug":2283,"meta":2284,"navigation":200,"path":2271,"seo":2285,"sourcePath":2286,"sourceStem":2279,"stem":2287,"wikiDepth":170,"__hash__":2288},"content\u002F_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1300-std-bind.md","std::bind",{"type":7,"value":8,"toc":2255},"minimark",[9,13,17,30,36,46,49,65,78,149,152,157,528,535,543,547,550,817,821,827,831,837,1212,1216,1222,1237,1241,1244,1683,1687,1693,1697,1710,1982,1986,1992,1995,2083,2087,2147,2152,2155,2185,2188,2215,2218,2251],[10,11,12],"h2",{"id":12},"本節解決什麼問題",[14,15,16],"p",{},"有時你已經有一個函數，但它的參數和目標接口不匹配：",[18,19,20,24,27],"ul",{},[21,22,23],"li",{},"想提前固定某些參數。",[21,25,26],{},"想調整參數順序。",[21,28,29],{},"想把成員函數綁定到某個對象上，變成普通回調。",[14,31,32,35],{},[33,34,5],"code",{}," 可以把已有可調用對象適配成新的可調用對象。",[14,37,38,39,42,43,45],{},"現代 C++ 中，很多 ",[33,40,41],{},"bind"," 場景可以用 Lambda 寫得更清楚。不過 ",[33,44,5],{}," 在舊項目、ROS2 示例、Boost.Asio 回調、成員函數適配中仍然經常出現，值得掌握。",[10,47,48],{"id":48},"這個特性是什麼",[14,50,51,53,54,57,58,57,61,64],{},[33,52,5],{}," 接收一個可調用對象和一組綁定參數，返回一個新的可調用對象。調用新對象時，佔位符 ",[33,55,56],{},"_1","、",[33,59,60],{},"_2",[33,62,63],{},"_3"," 表示\"調用時傳進來的第 1、2、3 個參數\"。",[14,66,67,69,70,73,74,77],{},[33,68,5],{}," 需要頭文件 ",[33,71,72],{},"\u003Cfunctional>","，佔位符在命名空間 ",[33,75,76],{},"std::placeholders"," 中。",[79,80,81,95],"table",{},[82,83,84],"thead",{},[85,86,87,92],"tr",{},[88,89,91],"th",{"align":90},"left","寫法",[88,93,94],{"align":90},"含義",[96,97,98,116,126,139],"tbody",{},[85,99,100,106],{},[101,102,103],"td",{"align":90},[33,104,105],{},"std::bind(f, 10, _1)",[101,107,108,109,112,113],{"align":90},"固定 ",[33,110,111],{},"f"," 的第一個參數為 ",[33,114,115],{},"10",[85,117,118,123],{},[101,119,120],{"align":90},[33,121,122],{},"std::bind(f, _2, _1)",[101,124,125],{"align":90},"調換調用時兩個參數的順序",[85,127,128,133],{},[101,129,130],{"align":90},[33,131,132],{},"std::bind(&C::m, &obj, _1)",[101,134,135,136],{"align":90},"把成員函數綁定到對象 ",[33,137,138],{},"obj",[85,140,141,146],{},[101,142,143],{"align":90},[33,144,145],{},"std::bind(f, std::ref(x), _1)",[101,147,148],{"align":90},"綁定引用，而不是拷貝",[10,150,151],{"id":151},"示例代碼",[153,154,156],"h3",{"id":155},"示例-1固定普通函數的部分參數","示例 1：固定普通函數的部分參數",[158,159,164],"pre",{"className":160,"code":161,"language":162,"meta":163,"style":163},"language-cpp shiki shiki-themes github-light github-dark","#include \u003Cfunctional>\n#include \u003Ciostream>\n#include \u003Cstring>\n\nvoid print_student(const std::string& name, int age, int score)\n{\n    std::cout \u003C\u003C name \u003C\u003C \" age=\" \u003C\u003C age \u003C\u003C \" score=\" \u003C\u003C score \u003C\u003C \"\\n\";\n}\n\nint main()\n{\n    \u002F\u002F 程序从 main 函数开始执行，下面的语句会按顺序运行。\n    using std::placeholders::_1;\n    using std::placeholders::_2;\n\n    print_student(\"Alice\", 20, 95);\n\n    \u002F\u002F bind 会把函数和部分参数提前绑定成一个可调用对象。\n    auto print_bob = std::bind(print_student, \"Bob\", _1, _2);\n    print_bob(21, 88);\n\n    auto print_charlie_score = std::bind(print_student, \"Charlie\", 22, _1);\n    print_charlie_score(91);\n\n    return 0;\n}\n","cpp","",[33,165,166,179,187,195,202,254,260,311,317,322,333,338,345,361,375,380,404,409,415,442,460,465,494,507,512,523],{"__ignoreMap":163},[167,168,171,175],"span",{"class":169,"line":170},"line",1,[167,172,174],{"class":173},"szBVR","#include",[167,176,178],{"class":177},"sZZnC"," \u003Cfunctional>\n",[167,180,182,184],{"class":169,"line":181},2,[167,183,174],{"class":173},[167,185,186],{"class":177}," \u003Ciostream>\n",[167,188,190,192],{"class":169,"line":189},3,[167,191,174],{"class":173},[167,193,194],{"class":177}," \u003Cstring>\n",[167,196,198],{"class":169,"line":197},4,[167,199,201],{"emptyLinePlaceholder":200},true,"\n",[167,203,205,208,212,216,219,222,225,228,231,235,238,241,244,246,248,251],{"class":169,"line":204},5,[167,206,207],{"class":173},"void",[167,209,211],{"class":210},"sScJk"," print_student",[167,213,215],{"class":214},"sVt8B","(",[167,217,218],{"class":173},"const",[167,220,221],{"class":210}," std",[167,223,224],{"class":214},"::",[167,226,227],{"class":210},"string",[167,229,230],{"class":173},"&",[167,232,234],{"class":233},"s4XuR"," name",[167,236,237],{"class":214},", ",[167,239,240],{"class":173},"int",[167,242,243],{"class":233}," age",[167,245,237],{"class":214},[167,247,240],{"class":173},[167,249,250],{"class":233}," score",[167,252,253],{"class":214},")\n",[167,255,257],{"class":169,"line":256},6,[167,258,259],{"class":214},"{\n",[167,261,263,266,269,272,275,277,280,283,286,288,291,293,296,298,301,305,308],{"class":169,"line":262},7,[167,264,265],{"class":210},"    std",[167,267,268],{"class":214},"::cout ",[167,270,271],{"class":173},"\u003C\u003C",[167,273,274],{"class":214}," name ",[167,276,271],{"class":173},[167,278,279],{"class":177}," \" age=\"",[167,281,282],{"class":173}," \u003C\u003C",[167,284,285],{"class":214}," age ",[167,287,271],{"class":173},[167,289,290],{"class":177}," \" score=\"",[167,292,282],{"class":173},[167,294,295],{"class":214}," score ",[167,297,271],{"class":173},[167,299,300],{"class":177}," \"",[167,302,304],{"class":303},"sj4cs","\\n",[167,306,307],{"class":177},"\"",[167,309,310],{"class":214},";\n",[167,312,314],{"class":169,"line":313},8,[167,315,316],{"class":214},"}\n",[167,318,320],{"class":169,"line":319},9,[167,321,201],{"emptyLinePlaceholder":200},[167,323,325,327,330],{"class":169,"line":324},10,[167,326,240],{"class":173},[167,328,329],{"class":210}," main",[167,331,332],{"class":214},"()\n",[167,334,336],{"class":169,"line":335},11,[167,337,259],{"class":214},[167,339,341],{"class":169,"line":340},12,[167,342,344],{"class":343},"sJ8bj","    \u002F\u002F 程序从 main 函数开始执行，下面的语句会按顺序运行。\n",[167,346,348,351,353,355,358],{"class":169,"line":347},13,[167,349,350],{"class":173},"    using",[167,352,221],{"class":210},[167,354,224],{"class":214},[167,356,357],{"class":210},"placeholders",[167,359,360],{"class":214},"::_1;\n",[167,362,364,366,368,370,372],{"class":169,"line":363},14,[167,365,350],{"class":173},[167,367,221],{"class":210},[167,369,224],{"class":214},[167,371,357],{"class":210},[167,373,374],{"class":214},"::_2;\n",[167,376,378],{"class":169,"line":377},15,[167,379,201],{"emptyLinePlaceholder":200},[167,381,383,386,388,391,393,396,398,401],{"class":169,"line":382},16,[167,384,385],{"class":210},"    print_student",[167,387,215],{"class":214},[167,389,390],{"class":177},"\"Alice\"",[167,392,237],{"class":214},[167,394,395],{"class":303},"20",[167,397,237],{"class":214},[167,399,400],{"class":303},"95",[167,402,403],{"class":214},");\n",[167,405,407],{"class":169,"line":406},17,[167,408,201],{"emptyLinePlaceholder":200},[167,410,412],{"class":169,"line":411},18,[167,413,414],{"class":343},"    \u002F\u002F bind 会把函数和部分参数提前绑定成一个可调用对象。\n",[167,416,418,421,424,427,429,431,433,436,439],{"class":169,"line":417},19,[167,419,420],{"class":173},"    auto",[167,422,423],{"class":214}," print_bob ",[167,425,426],{"class":173},"=",[167,428,221],{"class":210},[167,430,224],{"class":214},[167,432,41],{"class":210},[167,434,435],{"class":214},"(print_student, ",[167,437,438],{"class":177},"\"Bob\"",[167,440,441],{"class":214},", _1, _2);\n",[167,443,445,448,450,453,455,458],{"class":169,"line":444},20,[167,446,447],{"class":210},"    print_bob",[167,449,215],{"class":214},[167,451,452],{"class":303},"21",[167,454,237],{"class":214},[167,456,457],{"class":303},"88",[167,459,403],{"class":214},[167,461,463],{"class":169,"line":462},21,[167,464,201],{"emptyLinePlaceholder":200},[167,466,468,470,473,475,477,479,481,483,486,488,491],{"class":169,"line":467},22,[167,469,420],{"class":173},[167,471,472],{"class":214}," print_charlie_score ",[167,474,426],{"class":173},[167,476,221],{"class":210},[167,478,224],{"class":214},[167,480,41],{"class":210},[167,482,435],{"class":214},[167,484,485],{"class":177},"\"Charlie\"",[167,487,237],{"class":214},[167,489,490],{"class":303},"22",[167,492,493],{"class":214},", _1);\n",[167,495,497,500,502,505],{"class":169,"line":496},23,[167,498,499],{"class":210},"    print_charlie_score",[167,501,215],{"class":214},[167,503,504],{"class":303},"91",[167,506,403],{"class":214},[167,508,510],{"class":169,"line":509},24,[167,511,201],{"emptyLinePlaceholder":200},[167,513,515,518,521],{"class":169,"line":514},25,[167,516,517],{"class":173},"    return",[167,519,520],{"class":303}," 0",[167,522,310],{"class":214},[167,524,526],{"class":169,"line":525},26,[167,527,316],{"class":214},[14,529,530,534],{},[531,532,533],"strong",{},"運行結果","：",[158,536,541],{"className":537,"code":539,"language":540,"meta":163},[538],"language-text","Alice age=20 score=95\nBob age=21 score=88\nCharlie age=22 score=91\n","text",[33,542,539],{"__ignoreMap":163},[153,544,546],{"id":545},"示例-2調整參數順序","示例 2：調整參數順序",[14,548,549],{},"佔位符的位置決定了原函數接收到的參數順序。",[158,551,553],{"className":160,"code":552,"language":162,"meta":163,"style":163},"#include \u003Cfunctional>\n#include \u003Ciostream>\n\nvoid divide(int a, int b)\n{\n    std::cout \u003C\u003C a \u003C\u003C \" \u002F \" \u003C\u003C b \u003C\u003C \" = \" \u003C\u003C (a \u002F b) \u003C\u003C \"\\n\";\n}\n\nint main()\n{\n    \u002F\u002F 程序从 main 函数开始执行，下面的语句会按顺序运行。\n    using std::placeholders::_1;\n    using std::placeholders::_2;\n\n    divide(10, 2);\n\n    \u002F\u002F bind 会把函数和部分参数提前绑定成一个可调用对象。\n    auto swapped = std::bind(divide, _2, _1);\n    swapped(2, 10);\n\n    auto half = std::bind(divide, _1, 2);\n    half(10);\n    half(20);\n\n    return 0;\n}\n",[33,554,555,561,567,571,594,598,645,649,653,661,665,669,681,693,697,713,717,721,739,754,758,780,791,801,805,813],{"__ignoreMap":163},[167,556,557,559],{"class":169,"line":170},[167,558,174],{"class":173},[167,560,178],{"class":177},[167,562,563,565],{"class":169,"line":181},[167,564,174],{"class":173},[167,566,186],{"class":177},[167,568,569],{"class":169,"line":189},[167,570,201],{"emptyLinePlaceholder":200},[167,572,573,575,578,580,582,585,587,589,592],{"class":169,"line":197},[167,574,207],{"class":173},[167,576,577],{"class":210}," divide",[167,579,215],{"class":214},[167,581,240],{"class":173},[167,583,584],{"class":233}," a",[167,586,237],{"class":214},[167,588,240],{"class":173},[167,590,591],{"class":233}," b",[167,593,253],{"class":214},[167,595,596],{"class":169,"line":204},[167,597,259],{"class":214},[167,599,600,602,604,606,609,611,614,616,619,621,624,626,629,632,635,637,639,641,643],{"class":169,"line":256},[167,601,265],{"class":210},[167,603,268],{"class":214},[167,605,271],{"class":173},[167,607,608],{"class":214}," a ",[167,610,271],{"class":173},[167,612,613],{"class":177}," \" \u002F \"",[167,615,282],{"class":173},[167,617,618],{"class":214}," b ",[167,620,271],{"class":173},[167,622,623],{"class":177}," \" = \"",[167,625,282],{"class":173},[167,627,628],{"class":214}," (a ",[167,630,631],{"class":173},"\u002F",[167,633,634],{"class":214}," b) ",[167,636,271],{"class":173},[167,638,300],{"class":177},[167,640,304],{"class":303},[167,642,307],{"class":177},[167,644,310],{"class":214},[167,646,647],{"class":169,"line":262},[167,648,316],{"class":214},[167,650,651],{"class":169,"line":313},[167,652,201],{"emptyLinePlaceholder":200},[167,654,655,657,659],{"class":169,"line":319},[167,656,240],{"class":173},[167,658,329],{"class":210},[167,660,332],{"class":214},[167,662,663],{"class":169,"line":324},[167,664,259],{"class":214},[167,666,667],{"class":169,"line":335},[167,668,344],{"class":343},[167,670,671,673,675,677,679],{"class":169,"line":340},[167,672,350],{"class":173},[167,674,221],{"class":210},[167,676,224],{"class":214},[167,678,357],{"class":210},[167,680,360],{"class":214},[167,682,683,685,687,689,691],{"class":169,"line":347},[167,684,350],{"class":173},[167,686,221],{"class":210},[167,688,224],{"class":214},[167,690,357],{"class":210},[167,692,374],{"class":214},[167,694,695],{"class":169,"line":363},[167,696,201],{"emptyLinePlaceholder":200},[167,698,699,702,704,706,708,711],{"class":169,"line":377},[167,700,701],{"class":210},"    divide",[167,703,215],{"class":214},[167,705,115],{"class":303},[167,707,237],{"class":214},[167,709,710],{"class":303},"2",[167,712,403],{"class":214},[167,714,715],{"class":169,"line":382},[167,716,201],{"emptyLinePlaceholder":200},[167,718,719],{"class":169,"line":406},[167,720,414],{"class":343},[167,722,723,725,728,730,732,734,736],{"class":169,"line":411},[167,724,420],{"class":173},[167,726,727],{"class":214}," swapped ",[167,729,426],{"class":173},[167,731,221],{"class":210},[167,733,224],{"class":214},[167,735,41],{"class":210},[167,737,738],{"class":214},"(divide, _2, _1);\n",[167,740,741,744,746,748,750,752],{"class":169,"line":417},[167,742,743],{"class":210},"    swapped",[167,745,215],{"class":214},[167,747,710],{"class":303},[167,749,237],{"class":214},[167,751,115],{"class":303},[167,753,403],{"class":214},[167,755,756],{"class":169,"line":444},[167,757,201],{"emptyLinePlaceholder":200},[167,759,760,762,765,767,769,771,773,776,778],{"class":169,"line":462},[167,761,420],{"class":173},[167,763,764],{"class":214}," half ",[167,766,426],{"class":173},[167,768,221],{"class":210},[167,770,224],{"class":214},[167,772,41],{"class":210},[167,774,775],{"class":214},"(divide, _1, ",[167,777,710],{"class":303},[167,779,403],{"class":214},[167,781,782,785,787,789],{"class":169,"line":467},[167,783,784],{"class":210},"    half",[167,786,215],{"class":214},[167,788,115],{"class":303},[167,790,403],{"class":214},[167,792,793,795,797,799],{"class":169,"line":496},[167,794,784],{"class":210},[167,796,215],{"class":214},[167,798,395],{"class":303},[167,800,403],{"class":214},[167,802,803],{"class":169,"line":509},[167,804,201],{"emptyLinePlaceholder":200},[167,806,807,809,811],{"class":169,"line":514},[167,808,517],{"class":173},[167,810,520],{"class":303},[167,812,310],{"class":214},[167,814,815],{"class":169,"line":525},[167,816,316],{"class":214},[14,818,819,534],{},[531,820,533],{},[158,822,825],{"className":823,"code":824,"language":540,"meta":163},[538],"10 \u002F 2 = 5\n10 \u002F 2 = 5\n10 \u002F 2 = 5\n20 \u002F 2 = 10\n",[33,826,824],{"__ignoreMap":163},[153,828,830],{"id":829},"示例-3綁定成員函數","示例 3：綁定成員函數",[14,832,833,834,836],{},"非靜態成員函數需要對象才能調用。",[33,835,5],{}," 的第二個參數通常就是對象指針、對象引用或智能指針。",[158,838,840],{"className":160,"code":839,"language":162,"meta":163,"style":163},"#include \u003Cfunctional>\n#include \u003Ciostream>\n#include \u003Cstring>\n\nclass Printer\n{\n    std::string prefix_;\n\npublic:\n    explicit Printer(const std::string& prefix) : prefix_(prefix) {}\n\n    void print(int id, const std::string& text) const\n    {\n        std::cout \u003C\u003C prefix_ \u003C\u003C \" #\" \u003C\u003C id \u003C\u003C \": \" \u003C\u003C text \u003C\u003C \"\\n\";\n    }\n};\n\nint main()\n{\n    \u002F\u002F 程序从 main 函数开始执行，下面的语句会按顺序运行。\n    using std::placeholders::_1;\n    using std::placeholders::_2;\n\n    Printer printer(\"LOG\");\n\n    \u002F\u002F bind 会把函数和部分参数提前绑定成一个可调用对象。\n    auto print_any = std::bind(&Printer::print, &printer, _1, _2);\n    print_any(7, \"ready\");\n\n    auto print_ok = std::bind(&Printer::print, &printer, _1, \"ok\");\n    print_ok(8);\n\n    return 0;\n}\n",[33,841,842,848,854,860,864,872,876,883,887,892,924,928,964,969,1011,1016,1021,1025,1033,1037,1041,1053,1065,1069,1084,1088,1092,1123,1141,1146,1180,1193,1198,1207],{"__ignoreMap":163},[167,843,844,846],{"class":169,"line":170},[167,845,174],{"class":173},[167,847,178],{"class":177},[167,849,850,852],{"class":169,"line":181},[167,851,174],{"class":173},[167,853,186],{"class":177},[167,855,856,858],{"class":169,"line":189},[167,857,174],{"class":173},[167,859,194],{"class":177},[167,861,862],{"class":169,"line":197},[167,863,201],{"emptyLinePlaceholder":200},[167,865,866,869],{"class":169,"line":204},[167,867,868],{"class":173},"class",[167,870,871],{"class":210}," Printer\n",[167,873,874],{"class":169,"line":256},[167,875,259],{"class":214},[167,877,878,880],{"class":169,"line":262},[167,879,265],{"class":210},[167,881,882],{"class":214},"::string prefix_;\n",[167,884,885],{"class":169,"line":313},[167,886,201],{"emptyLinePlaceholder":200},[167,888,889],{"class":169,"line":319},[167,890,891],{"class":173},"public:\n",[167,893,894,897,900,902,904,906,908,910,912,915,918,921],{"class":169,"line":324},[167,895,896],{"class":173},"    explicit",[167,898,899],{"class":210}," Printer",[167,901,215],{"class":214},[167,903,218],{"class":173},[167,905,221],{"class":210},[167,907,224],{"class":214},[167,909,227],{"class":210},[167,911,230],{"class":173},[167,913,914],{"class":233}," prefix",[167,916,917],{"class":214},") : ",[167,919,920],{"class":210},"prefix_",[167,922,923],{"class":214},"(prefix) {}\n",[167,925,926],{"class":169,"line":335},[167,927,201],{"emptyLinePlaceholder":200},[167,929,930,933,936,938,940,943,945,947,949,951,953,955,958,961],{"class":169,"line":340},[167,931,932],{"class":173},"    void",[167,934,935],{"class":210}," print",[167,937,215],{"class":214},[167,939,240],{"class":173},[167,941,942],{"class":233}," id",[167,944,237],{"class":214},[167,946,218],{"class":173},[167,948,221],{"class":210},[167,950,224],{"class":214},[167,952,227],{"class":210},[167,954,230],{"class":173},[167,956,957],{"class":233}," text",[167,959,960],{"class":214},") ",[167,962,963],{"class":173},"const\n",[167,965,966],{"class":169,"line":347},[167,967,968],{"class":214},"    {\n",[167,970,971,974,976,978,981,983,986,988,991,993,996,998,1001,1003,1005,1007,1009],{"class":169,"line":363},[167,972,973],{"class":210},"        std",[167,975,268],{"class":214},[167,977,271],{"class":173},[167,979,980],{"class":214}," prefix_ ",[167,982,271],{"class":173},[167,984,985],{"class":177}," \" #\"",[167,987,282],{"class":173},[167,989,990],{"class":214}," id ",[167,992,271],{"class":173},[167,994,995],{"class":177}," \": \"",[167,997,282],{"class":173},[167,999,1000],{"class":214}," text ",[167,1002,271],{"class":173},[167,1004,300],{"class":177},[167,1006,304],{"class":303},[167,1008,307],{"class":177},[167,1010,310],{"class":214},[167,1012,1013],{"class":169,"line":377},[167,1014,1015],{"class":214},"    }\n",[167,1017,1018],{"class":169,"line":382},[167,1019,1020],{"class":214},"};\n",[167,1022,1023],{"class":169,"line":406},[167,1024,201],{"emptyLinePlaceholder":200},[167,1026,1027,1029,1031],{"class":169,"line":411},[167,1028,240],{"class":173},[167,1030,329],{"class":210},[167,1032,332],{"class":214},[167,1034,1035],{"class":169,"line":417},[167,1036,259],{"class":214},[167,1038,1039],{"class":169,"line":444},[167,1040,344],{"class":343},[167,1042,1043,1045,1047,1049,1051],{"class":169,"line":462},[167,1044,350],{"class":173},[167,1046,221],{"class":210},[167,1048,224],{"class":214},[167,1050,357],{"class":210},[167,1052,360],{"class":214},[167,1054,1055,1057,1059,1061,1063],{"class":169,"line":467},[167,1056,350],{"class":173},[167,1058,221],{"class":210},[167,1060,224],{"class":214},[167,1062,357],{"class":210},[167,1064,374],{"class":214},[167,1066,1067],{"class":169,"line":496},[167,1068,201],{"emptyLinePlaceholder":200},[167,1070,1071,1074,1077,1079,1082],{"class":169,"line":509},[167,1072,1073],{"class":214},"    Printer ",[167,1075,1076],{"class":210},"printer",[167,1078,215],{"class":214},[167,1080,1081],{"class":177},"\"LOG\"",[167,1083,403],{"class":214},[167,1085,1086],{"class":169,"line":514},[167,1087,201],{"emptyLinePlaceholder":200},[167,1089,1090],{"class":169,"line":525},[167,1091,414],{"class":343},[167,1093,1095,1097,1100,1102,1104,1106,1108,1110,1112,1115,1118,1120],{"class":169,"line":1094},27,[167,1096,420],{"class":173},[167,1098,1099],{"class":214}," print_any ",[167,1101,426],{"class":173},[167,1103,221],{"class":210},[167,1105,224],{"class":214},[167,1107,41],{"class":210},[167,1109,215],{"class":214},[167,1111,230],{"class":173},[167,1113,1114],{"class":210},"Printer",[167,1116,1117],{"class":214},"::print, ",[167,1119,230],{"class":173},[167,1121,1122],{"class":214},"printer, _1, _2);\n",[167,1124,1126,1129,1131,1134,1136,1139],{"class":169,"line":1125},28,[167,1127,1128],{"class":210},"    print_any",[167,1130,215],{"class":214},[167,1132,1133],{"class":303},"7",[167,1135,237],{"class":214},[167,1137,1138],{"class":177},"\"ready\"",[167,1140,403],{"class":214},[167,1142,1144],{"class":169,"line":1143},29,[167,1145,201],{"emptyLinePlaceholder":200},[167,1147,1149,1151,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1175,1178],{"class":169,"line":1148},30,[167,1150,420],{"class":173},[167,1152,1153],{"class":214}," print_ok ",[167,1155,426],{"class":173},[167,1157,221],{"class":210},[167,1159,224],{"class":214},[167,1161,41],{"class":210},[167,1163,215],{"class":214},[167,1165,230],{"class":173},[167,1167,1114],{"class":210},[167,1169,1117],{"class":214},[167,1171,230],{"class":173},[167,1173,1174],{"class":214},"printer, _1, ",[167,1176,1177],{"class":177},"\"ok\"",[167,1179,403],{"class":214},[167,1181,1183,1186,1188,1191],{"class":169,"line":1182},31,[167,1184,1185],{"class":210},"    print_ok",[167,1187,215],{"class":214},[167,1189,1190],{"class":303},"8",[167,1192,403],{"class":214},[167,1194,1196],{"class":169,"line":1195},32,[167,1197,201],{"emptyLinePlaceholder":200},[167,1199,1201,1203,1205],{"class":169,"line":1200},33,[167,1202,517],{"class":173},[167,1204,520],{"class":303},[167,1206,310],{"class":214},[167,1208,1210],{"class":169,"line":1209},34,[167,1211,316],{"class":214},[14,1213,1214,534],{},[531,1215,533],{},[158,1217,1220],{"className":1218,"code":1219,"language":540,"meta":163},[538],"LOG #7: ready\nLOG #8: ok\n",[33,1221,1219],{"__ignoreMap":163},[14,1223,1224,1225,1228,1229,1232,1233,1236],{},"這裡 ",[33,1226,1227],{},"&printer"," 必須在 ",[33,1230,1231],{},"print_any"," 和 ",[33,1234,1235],{},"print_ok"," 使用期間一直有效。如果綁定後的回調會被保存到更久的地方，通常要考慮智能指針或更明確的生命週期管理。",[153,1238,1240],{"id":1239},"示例-4bind-和-lambda-的對比","示例 4：bind 和 Lambda 的對比",[14,1242,1243],{},"同一個參數適配任務，Lambda 往往更直觀，因為參數名和調用關係都寫得很清楚。",[158,1245,1247],{"className":160,"code":1246,"language":162,"meta":163,"style":163},"#include \u003Cfunctional>\n#include \u003Ciostream>\n\nint weighted_sum(int base, int x, int y)\n{\n    return base + x * 10 + y;\n}\n\nint main()\n{\n    \u002F\u002F 程序从 main 函数开始执行，下面的语句会按顺序运行。\n    using std::placeholders::_1;\n    using std::placeholders::_2;\n\n    \u002F\u002F bind 会把函数和部分参数提前绑定成一个可调用对象。\n    auto by_bind = std::bind(weighted_sum, 100, _1, _2);\n    auto by_lambda = [](int x, int y) {\n        return weighted_sum(100, x, y);\n    };\n\n    std::cout \u003C\u003C \"bind result = \" \u003C\u003C by_bind(3, 4) \u003C\u003C \"\\n\";\n    std::cout \u003C\u003C \"lambda result = \" \u003C\u003C by_lambda(3, 4) \u003C\u003C \"\\n\";\n\n    auto swapped_bind = std::bind(weighted_sum, 100, _2, _1);\n    auto swapped_lambda = [](int x, int y) {\n        return weighted_sum(100, y, x);\n    };\n\n    std::cout \u003C\u003C \"swapped bind result = \" \u003C\u003C swapped_bind(3, 4) \u003C\u003C \"\\n\";\n    std::cout \u003C\u003C \"swapped lambda result = \" \u003C\u003C swapped_lambda(3, 4) \u003C\u003C \"\\n\";\n\n    return 0;\n}\n",[33,1248,1249,1255,1261,1265,1295,1299,1324,1328,1332,1340,1344,1348,1360,1372,1376,1380,1403,1428,1442,1447,1451,1489,1525,1529,1551,1574,1587,1591,1595,1631,1667,1671,1679],{"__ignoreMap":163},[167,1250,1251,1253],{"class":169,"line":170},[167,1252,174],{"class":173},[167,1254,178],{"class":177},[167,1256,1257,1259],{"class":169,"line":181},[167,1258,174],{"class":173},[167,1260,186],{"class":177},[167,1262,1263],{"class":169,"line":189},[167,1264,201],{"emptyLinePlaceholder":200},[167,1266,1267,1269,1272,1274,1276,1279,1281,1283,1286,1288,1290,1293],{"class":169,"line":197},[167,1268,240],{"class":173},[167,1270,1271],{"class":210}," weighted_sum",[167,1273,215],{"class":214},[167,1275,240],{"class":173},[167,1277,1278],{"class":233}," base",[167,1280,237],{"class":214},[167,1282,240],{"class":173},[167,1284,1285],{"class":233}," x",[167,1287,237],{"class":214},[167,1289,240],{"class":173},[167,1291,1292],{"class":233}," y",[167,1294,253],{"class":214},[167,1296,1297],{"class":169,"line":204},[167,1298,259],{"class":214},[167,1300,1301,1303,1306,1309,1312,1315,1318,1321],{"class":169,"line":256},[167,1302,517],{"class":173},[167,1304,1305],{"class":214}," base ",[167,1307,1308],{"class":173},"+",[167,1310,1311],{"class":214}," x ",[167,1313,1314],{"class":173},"*",[167,1316,1317],{"class":303}," 10",[167,1319,1320],{"class":173}," +",[167,1322,1323],{"class":214}," y;\n",[167,1325,1326],{"class":169,"line":262},[167,1327,316],{"class":214},[167,1329,1330],{"class":169,"line":313},[167,1331,201],{"emptyLinePlaceholder":200},[167,1333,1334,1336,1338],{"class":169,"line":319},[167,1335,240],{"class":173},[167,1337,329],{"class":210},[167,1339,332],{"class":214},[167,1341,1342],{"class":169,"line":324},[167,1343,259],{"class":214},[167,1345,1346],{"class":169,"line":335},[167,1347,344],{"class":343},[167,1349,1350,1352,1354,1356,1358],{"class":169,"line":340},[167,1351,350],{"class":173},[167,1353,221],{"class":210},[167,1355,224],{"class":214},[167,1357,357],{"class":210},[167,1359,360],{"class":214},[167,1361,1362,1364,1366,1368,1370],{"class":169,"line":347},[167,1363,350],{"class":173},[167,1365,221],{"class":210},[167,1367,224],{"class":214},[167,1369,357],{"class":210},[167,1371,374],{"class":214},[167,1373,1374],{"class":169,"line":363},[167,1375,201],{"emptyLinePlaceholder":200},[167,1377,1378],{"class":169,"line":377},[167,1379,414],{"class":343},[167,1381,1382,1384,1387,1389,1391,1393,1395,1398,1401],{"class":169,"line":382},[167,1383,420],{"class":173},[167,1385,1386],{"class":214}," by_bind ",[167,1388,426],{"class":173},[167,1390,221],{"class":210},[167,1392,224],{"class":214},[167,1394,41],{"class":210},[167,1396,1397],{"class":214},"(weighted_sum, ",[167,1399,1400],{"class":303},"100",[167,1402,441],{"class":214},[167,1404,1405,1407,1410,1412,1415,1417,1419,1421,1423,1425],{"class":169,"line":406},[167,1406,420],{"class":173},[167,1408,1409],{"class":214}," by_lambda ",[167,1411,426],{"class":173},[167,1413,1414],{"class":214}," [](",[167,1416,240],{"class":173},[167,1418,1285],{"class":233},[167,1420,237],{"class":214},[167,1422,240],{"class":173},[167,1424,1292],{"class":233},[167,1426,1427],{"class":214},") {\n",[167,1429,1430,1433,1435,1437,1439],{"class":169,"line":411},[167,1431,1432],{"class":173},"        return",[167,1434,1271],{"class":210},[167,1436,215],{"class":214},[167,1438,1400],{"class":303},[167,1440,1441],{"class":214},", x, y);\n",[167,1443,1444],{"class":169,"line":417},[167,1445,1446],{"class":214},"    };\n",[167,1448,1449],{"class":169,"line":444},[167,1450,201],{"emptyLinePlaceholder":200},[167,1452,1453,1455,1457,1459,1462,1464,1467,1469,1472,1474,1477,1479,1481,1483,1485,1487],{"class":169,"line":462},[167,1454,265],{"class":210},[167,1456,268],{"class":214},[167,1458,271],{"class":173},[167,1460,1461],{"class":177}," \"bind result = \"",[167,1463,282],{"class":173},[167,1465,1466],{"class":210}," by_bind",[167,1468,215],{"class":214},[167,1470,1471],{"class":303},"3",[167,1473,237],{"class":214},[167,1475,1476],{"class":303},"4",[167,1478,960],{"class":214},[167,1480,271],{"class":173},[167,1482,300],{"class":177},[167,1484,304],{"class":303},[167,1486,307],{"class":177},[167,1488,310],{"class":214},[167,1490,1491,1493,1495,1497,1500,1502,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523],{"class":169,"line":467},[167,1492,265],{"class":210},[167,1494,268],{"class":214},[167,1496,271],{"class":173},[167,1498,1499],{"class":177}," \"lambda result = \"",[167,1501,282],{"class":173},[167,1503,1504],{"class":210}," by_lambda",[167,1506,215],{"class":214},[167,1508,1471],{"class":303},[167,1510,237],{"class":214},[167,1512,1476],{"class":303},[167,1514,960],{"class":214},[167,1516,271],{"class":173},[167,1518,300],{"class":177},[167,1520,304],{"class":303},[167,1522,307],{"class":177},[167,1524,310],{"class":214},[167,1526,1527],{"class":169,"line":496},[167,1528,201],{"emptyLinePlaceholder":200},[167,1530,1531,1533,1536,1538,1540,1542,1544,1546,1548],{"class":169,"line":509},[167,1532,420],{"class":173},[167,1534,1535],{"class":214}," swapped_bind ",[167,1537,426],{"class":173},[167,1539,221],{"class":210},[167,1541,224],{"class":214},[167,1543,41],{"class":210},[167,1545,1397],{"class":214},[167,1547,1400],{"class":303},[167,1549,1550],{"class":214},", _2, _1);\n",[167,1552,1553,1555,1558,1560,1562,1564,1566,1568,1570,1572],{"class":169,"line":514},[167,1554,420],{"class":173},[167,1556,1557],{"class":214}," swapped_lambda ",[167,1559,426],{"class":173},[167,1561,1414],{"class":214},[167,1563,240],{"class":173},[167,1565,1285],{"class":233},[167,1567,237],{"class":214},[167,1569,240],{"class":173},[167,1571,1292],{"class":233},[167,1573,1427],{"class":214},[167,1575,1576,1578,1580,1582,1584],{"class":169,"line":525},[167,1577,1432],{"class":173},[167,1579,1271],{"class":210},[167,1581,215],{"class":214},[167,1583,1400],{"class":303},[167,1585,1586],{"class":214},", y, x);\n",[167,1588,1589],{"class":169,"line":1094},[167,1590,1446],{"class":214},[167,1592,1593],{"class":169,"line":1125},[167,1594,201],{"emptyLinePlaceholder":200},[167,1596,1597,1599,1601,1603,1606,1608,1611,1613,1615,1617,1619,1621,1623,1625,1627,1629],{"class":169,"line":1143},[167,1598,265],{"class":210},[167,1600,268],{"class":214},[167,1602,271],{"class":173},[167,1604,1605],{"class":177}," \"swapped bind result = \"",[167,1607,282],{"class":173},[167,1609,1610],{"class":210}," swapped_bind",[167,1612,215],{"class":214},[167,1614,1471],{"class":303},[167,1616,237],{"class":214},[167,1618,1476],{"class":303},[167,1620,960],{"class":214},[167,1622,271],{"class":173},[167,1624,300],{"class":177},[167,1626,304],{"class":303},[167,1628,307],{"class":177},[167,1630,310],{"class":214},[167,1632,1633,1635,1637,1639,1642,1644,1647,1649,1651,1653,1655,1657,1659,1661,1663,1665],{"class":169,"line":1148},[167,1634,265],{"class":210},[167,1636,268],{"class":214},[167,1638,271],{"class":173},[167,1640,1641],{"class":177}," \"swapped lambda result = \"",[167,1643,282],{"class":173},[167,1645,1646],{"class":210}," swapped_lambda",[167,1648,215],{"class":214},[167,1650,1471],{"class":303},[167,1652,237],{"class":214},[167,1654,1476],{"class":303},[167,1656,960],{"class":214},[167,1658,271],{"class":173},[167,1660,300],{"class":177},[167,1662,304],{"class":303},[167,1664,307],{"class":177},[167,1666,310],{"class":214},[167,1668,1669],{"class":169,"line":1182},[167,1670,201],{"emptyLinePlaceholder":200},[167,1672,1673,1675,1677],{"class":169,"line":1195},[167,1674,517],{"class":173},[167,1676,520],{"class":303},[167,1678,310],{"class":214},[167,1680,1681],{"class":169,"line":1200},[167,1682,316],{"class":214},[14,1684,1685,534],{},[531,1686,533],{},[158,1688,1691],{"className":1689,"code":1690,"language":540,"meta":163},[538],"bind result = 134\nlambda result = 134\nswapped bind result = 143\nswapped lambda result = 143\n",[33,1692,1690],{"__ignoreMap":163},[153,1694,1696],{"id":1695},"示例-5bind-默認拷貝參數需要引用時用-stdref","示例 5：bind 默認拷貝參數，需要引用時用 std::ref",[14,1698,1699,1701,1702,1705,1706,1709],{},[33,1700,5],{}," 保存普通參數時默認拷貝。如果你要綁定引用，必須顯式使用 ",[33,1703,1704],{},"std::ref"," 或 ",[33,1707,1708],{},"std::cref","。",[158,1711,1713],{"className":160,"code":1712,"language":162,"meta":163,"style":163},"#include \u003Cfunctional>\n#include \u003Ciostream>\n\nvoid add_to(int& total, int value)\n{\n    total += value;\n    std::cout \u003C\u003C \"inside total = \" \u003C\u003C total \u003C\u003C \"\\n\";\n}\n\nint main()\n{\n    \u002F\u002F 程序从 main 函数开始执行，下面的语句会按顺序运行。\n    int total = 0;\n\n    \u002F\u002F bind 会把函数和部分参数提前绑定成一个可调用对象。\n    auto add_copy = std::bind(add_to, total, 5);\n    add_copy();\n    std::cout \u003C\u003C \"outside after copy bind = \" \u003C\u003C total \u003C\u003C \"\\n\";\n\n    auto add_ref = std::bind(add_to, std::ref(total), 5);\n    add_ref();\n    std::cout \u003C\u003C \"outside after ref bind = \" \u003C\u003C total \u003C\u003C \"\\n\";\n\n    return 0;\n}\n",[33,1714,1715,1721,1727,1731,1755,1759,1770,1796,1800,1804,1812,1816,1820,1833,1837,1841,1864,1872,1897,1901,1934,1941,1966,1970,1978],{"__ignoreMap":163},[167,1716,1717,1719],{"class":169,"line":170},[167,1718,174],{"class":173},[167,1720,178],{"class":177},[167,1722,1723,1725],{"class":169,"line":181},[167,1724,174],{"class":173},[167,1726,186],{"class":177},[167,1728,1729],{"class":169,"line":189},[167,1730,201],{"emptyLinePlaceholder":200},[167,1732,1733,1735,1738,1740,1743,1746,1748,1750,1753],{"class":169,"line":197},[167,1734,207],{"class":173},[167,1736,1737],{"class":210}," add_to",[167,1739,215],{"class":214},[167,1741,1742],{"class":173},"int&",[167,1744,1745],{"class":233}," total",[167,1747,237],{"class":214},[167,1749,240],{"class":173},[167,1751,1752],{"class":233}," value",[167,1754,253],{"class":214},[167,1756,1757],{"class":169,"line":204},[167,1758,259],{"class":214},[167,1760,1761,1764,1767],{"class":169,"line":256},[167,1762,1763],{"class":214},"    total ",[167,1765,1766],{"class":173},"+=",[167,1768,1769],{"class":214}," value;\n",[167,1771,1772,1774,1776,1778,1781,1783,1786,1788,1790,1792,1794],{"class":169,"line":262},[167,1773,265],{"class":210},[167,1775,268],{"class":214},[167,1777,271],{"class":173},[167,1779,1780],{"class":177}," \"inside total = \"",[167,1782,282],{"class":173},[167,1784,1785],{"class":214}," total ",[167,1787,271],{"class":173},[167,1789,300],{"class":177},[167,1791,304],{"class":303},[167,1793,307],{"class":177},[167,1795,310],{"class":214},[167,1797,1798],{"class":169,"line":313},[167,1799,316],{"class":214},[167,1801,1802],{"class":169,"line":319},[167,1803,201],{"emptyLinePlaceholder":200},[167,1805,1806,1808,1810],{"class":169,"line":324},[167,1807,240],{"class":173},[167,1809,329],{"class":210},[167,1811,332],{"class":214},[167,1813,1814],{"class":169,"line":335},[167,1815,259],{"class":214},[167,1817,1818],{"class":169,"line":340},[167,1819,344],{"class":343},[167,1821,1822,1825,1827,1829,1831],{"class":169,"line":347},[167,1823,1824],{"class":173},"    int",[167,1826,1785],{"class":214},[167,1828,426],{"class":173},[167,1830,520],{"class":303},[167,1832,310],{"class":214},[167,1834,1835],{"class":169,"line":363},[167,1836,201],{"emptyLinePlaceholder":200},[167,1838,1839],{"class":169,"line":377},[167,1840,414],{"class":343},[167,1842,1843,1845,1848,1850,1852,1854,1856,1859,1862],{"class":169,"line":382},[167,1844,420],{"class":173},[167,1846,1847],{"class":214}," add_copy ",[167,1849,426],{"class":173},[167,1851,221],{"class":210},[167,1853,224],{"class":214},[167,1855,41],{"class":210},[167,1857,1858],{"class":214},"(add_to, total, ",[167,1860,1861],{"class":303},"5",[167,1863,403],{"class":214},[167,1865,1866,1869],{"class":169,"line":406},[167,1867,1868],{"class":210},"    add_copy",[167,1870,1871],{"class":214},"();\n",[167,1873,1874,1876,1878,1880,1883,1885,1887,1889,1891,1893,1895],{"class":169,"line":411},[167,1875,265],{"class":210},[167,1877,268],{"class":214},[167,1879,271],{"class":173},[167,1881,1882],{"class":177}," \"outside after copy bind = \"",[167,1884,282],{"class":173},[167,1886,1785],{"class":214},[167,1888,271],{"class":173},[167,1890,300],{"class":177},[167,1892,304],{"class":303},[167,1894,307],{"class":177},[167,1896,310],{"class":214},[167,1898,1899],{"class":169,"line":417},[167,1900,201],{"emptyLinePlaceholder":200},[167,1902,1903,1905,1908,1910,1912,1914,1916,1919,1922,1924,1927,1930,1932],{"class":169,"line":444},[167,1904,420],{"class":173},[167,1906,1907],{"class":214}," add_ref ",[167,1909,426],{"class":173},[167,1911,221],{"class":210},[167,1913,224],{"class":214},[167,1915,41],{"class":210},[167,1917,1918],{"class":214},"(add_to, ",[167,1920,1921],{"class":210},"std",[167,1923,224],{"class":214},[167,1925,1926],{"class":210},"ref",[167,1928,1929],{"class":214},"(total), ",[167,1931,1861],{"class":303},[167,1933,403],{"class":214},[167,1935,1936,1939],{"class":169,"line":462},[167,1937,1938],{"class":210},"    add_ref",[167,1940,1871],{"class":214},[167,1942,1943,1945,1947,1949,1952,1954,1956,1958,1960,1962,1964],{"class":169,"line":467},[167,1944,265],{"class":210},[167,1946,268],{"class":214},[167,1948,271],{"class":173},[167,1950,1951],{"class":177}," \"outside after ref bind = \"",[167,1953,282],{"class":173},[167,1955,1785],{"class":214},[167,1957,271],{"class":173},[167,1959,300],{"class":177},[167,1961,304],{"class":303},[167,1963,307],{"class":177},[167,1965,310],{"class":214},[167,1967,1968],{"class":169,"line":496},[167,1969,201],{"emptyLinePlaceholder":200},[167,1971,1972,1974,1976],{"class":169,"line":509},[167,1973,517],{"class":173},[167,1975,520],{"class":303},[167,1977,310],{"class":214},[167,1979,1980],{"class":169,"line":514},[167,1981,316],{"class":214},[14,1983,1984,534],{},[531,1985,533],{},[158,1987,1990],{"className":1988,"code":1989,"language":540,"meta":163},[538],"inside total = 5\noutside after copy bind = 0\ninside total = 5\noutside after ref bind = 5\n",[33,1991,1989],{"__ignoreMap":163},[10,1993,1994],{"id":1994},"關鍵語法解釋",[79,1996,1997,2009],{},[82,1998,1999],{},[85,2000,2001,2003,2006],{},[88,2002,91],{"align":90},[88,2004,2005],{"align":90},"說明",[88,2007,2008],{"align":90},"注意事項",[96,2010,2011,2025,2037,2051,2064],{},[85,2012,2013,2017,2020],{},[101,2014,2015],{"align":90},[33,2016,56],{},[101,2018,2019],{"align":90},"調用新函數時傳入的第一個參數",[101,2021,2022,2023],{"align":90},"來自 ",[33,2024,76],{},[85,2026,2027,2031,2034],{},[101,2028,2029],{"align":90},[33,2030,60],{},[101,2032,2033],{"align":90},"調用新函數時傳入的第二個參數",[101,2035,2036],{"align":90},"可以用來調整順序",[85,2038,2039,2042,2048],{},[101,2040,2041],{"align":90},"固定值",[101,2043,2044,2045,2047],{"align":90},"直接寫在 ",[33,2046,41],{}," 參數裡",[101,2049,2050],{"align":90},"默認會被拷貝保存",[85,2052,2053,2058,2061],{},[101,2054,2055],{"align":90},[33,2056,2057],{},"&Class::method",[101,2059,2060],{"align":90},"成員函數指針",[101,2062,2063],{"align":90},"後面還要綁定對象",[85,2065,2066,2071,2077],{},[101,2067,2068],{"align":90},[33,2069,2070],{},"std::ref(x)",[101,2072,2073,2074],{"align":90},"按引用綁定 ",[33,2075,2076],{},"x",[101,2078,2079,2080,2082],{"align":90},"不寫 ",[33,2081,1704],{}," 通常會拷貝",[10,2084,2086],{"id":2085},"bind-和-lambda-怎麼選","bind 和 Lambda 怎麼選",[79,2088,2089,2099],{},[82,2090,2091],{},[85,2092,2093,2096],{},[88,2094,2095],{"align":90},"場景",[88,2097,2098],{"align":90},"推薦",[96,2100,2101,2112,2120,2130,2137],{},[85,2102,2103,2106],{},[101,2104,2105],{"align":90},"簡單固定參數",[101,2107,2108,2109,2111],{"align":90},"Lambda 或 ",[33,2110,41],{}," 都可以",[85,2113,2114,2117],{},[101,2115,2116],{"align":90},"參數關係需要讀得很清楚",[101,2118,2119],{"align":90},"Lambda",[85,2121,2122,2125],{},[101,2123,2124],{"align":90},"綁定成員函數給舊接口",[101,2126,2127,2129],{"align":90},[33,2128,41],{}," 很常見，也可以用 Lambda",[85,2131,2132,2135],{},[101,2133,2134],{"align":90},"需要複雜邏輯、條件判斷",[101,2136,2119],{"align":90},[85,2138,2139,2142],{},[101,2140,2141],{"align":90},"閱讀舊代碼或 ROS2\u002FBoost.Asio 示例",[101,2143,2144,2145],{"align":90},"必須看懂 ",[33,2146,41],{},[14,2148,2149,2150,1709],{},"一句話：新代碼優先考慮 Lambda；遇到已有接口適配、舊項目代碼、成員函數回調時，要能熟練讀懂 ",[33,2151,5],{},[10,2153,2154],{"id":2154},"常見錯誤",[2156,2157,2158,2163,2171,2174,2177],"ol",{},[21,2159,2160,2161,1709],{},"忘記佔位符來自 ",[33,2162,76],{},[21,2164,2165,2166,57,2168,2170],{},"把 ",[33,2167,56],{},[33,2169,60],{}," 的順序看反，導致實參順序錯誤。",[21,2172,2173],{},"綁定成員函數時忘記綁定對象。",[21,2175,2176],{},"綁定對象指針後，對象先被銷燬，回調還在使用。",[21,2178,2179,2180,2182,2183,1709],{},"以為 ",[33,2181,41],{}," 默認按引用保存參數。默認是拷貝，需要引用時用 ",[33,2184,1704],{},[10,2186,2187],{"id":2187},"使用建議",[2156,2189,2190,2193,2199,2202,2209],{},[21,2191,2192],{},"新代碼中，參數適配優先嚐試 Lambda。",[21,2194,2195,2196,1709],{},"讀 ROS2、Boost.Asio、舊項目代碼時，要能看懂 ",[33,2197,2198],{},"std::bind(&Class::method, this, _1, _2)",[21,2200,2201],{},"綁定成員函數時最先考慮對象生命週期。",[21,2203,2204,2205,1705,2207,1709],{},"需要引用語義時明確寫 ",[33,2206,1704],{},[33,2208,1708],{},[21,2210,2211,2212,2214],{},"不要為了使用 ",[33,2213,41],{}," 寫出難讀的佔位符組合，清晰比炫技重要。",[10,2216,2217],{"id":2217},"小結",[18,2219,2220,2225,2232,2239,2245],{},[21,2221,2222,2224],{},[33,2223,5],{}," 用來固定參數、調整參數順序、綁定成員函數。",[21,2226,2227,57,2229,2231],{},[33,2228,56],{},[33,2230,60],{}," 表示調用新可調用對象時傳入的參數位置。",[21,2233,2234,2236,2237,1709],{},[33,2235,41],{}," 默認拷貝綁定參數，需要引用時用 ",[33,2238,1704],{},[21,2240,2241,2242,2244],{},"現代 C++ 中很多 ",[33,2243,41],{}," 用法可以用 Lambda 替代。",[21,2246,2247,2248,2250],{},"理解 ",[33,2249,41],{}," 對閱讀 ROS2、Boost.Asio 和舊 C++ 項目很有幫助。",[2252,2253,2254],"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 .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 pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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":163,"searchDepth":181,"depth":181,"links":2256},[2257,2258,2259,2266,2267,2268,2269,2270],{"id":12,"depth":181,"text":12},{"id":48,"depth":181,"text":48},{"id":151,"depth":181,"text":151,"children":2260},[2261,2262,2263,2264,2265],{"id":155,"depth":189,"text":156},{"id":545,"depth":189,"text":546},{"id":829,"depth":189,"text":830},{"id":1239,"depth":189,"text":1240},{"id":1695,"depth":189,"text":1696},{"id":1994,"depth":181,"text":1994},{"id":2085,"depth":181,"text":2086},{"id":2154,"depth":181,"text":2154},{"id":2187,"depth":181,"text":2187},{"id":2217,"depth":181,"text":2217},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind","2000-1300","2023-10-05","wiki\u002F2023-10-05-cplusplus-jiao-xue","zh-tw:2023-10-05-cplusplus-jiao-xue","\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue","Cplusplus教学","md","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1300-std-bind",false,null,"zh-TW","zh-tw",{},{"title":5,"description":163},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1300-std-bind","kBwTIoUMG1Km6d7PHFdQ5HMobuJF-nE1Ps5k_Ix_9ho",[2290,2296,2301,2306,2311,2316,2321,2326,2331,2336,2341,2346,2351,2356,2361,2366,2371,2376,2381,2386,2391,2396,2401,2406,2411,2416,2421,2426,2431,2436,2441,2446,2451,2456,2461,2466,2471,2476,2481,2486,2491,2496,2501,2506,2511,2516,2521,2526,2531,2536,2537,2542,2547,2552,2557,2562,2567,2572,2577,2582,2587,2592,2597,2602,2607,2612,2617,2622,2627,2632,2637,2642,2647,2652,2657,2662,2667,2672,2677,2682,2687,2692],{"path":2291,"stem":2292,"title":2293,"date":2273,"chapterOrder":2294,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0100-c-kai-fa-huan-jing-da-jian-yu-ce-shi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0100-C++开发环境搭建与测试","C++開發環境搭建與測試","0100",0,{"path":2297,"stem":2298,"title":2299,"date":2273,"chapterOrder":2300,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0200-C++基础初识","C++基礎初識","0200",{"path":2302,"stem":2303,"title":2304,"date":2273,"chapterOrder":2305,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0300-shu-ju-lei-xing-yu-shu-ju-cun-fang","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0300-数据类型与数据存放","數據類型與數據存放","0300",{"path":2307,"stem":2308,"title":2309,"date":2273,"chapterOrder":2310,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0400-shu-ru-shu-chu","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0400-输入输出","輸入輸出","0400",{"path":2312,"stem":2313,"title":2314,"date":2273,"chapterOrder":2315,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0500-yun-suan-fu","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0500-运算符","運算符","0500",{"path":2317,"stem":2318,"title":2319,"date":2273,"chapterOrder":2320,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0600-cheng-xu-liu-cheng-jie-gou","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0600-程序流程结构","程序流程結構","0600",{"path":2322,"stem":2323,"title":2324,"date":2273,"chapterOrder":2325,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0700-shu-zu","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0700-数组","數組","0700",{"path":2327,"stem":2328,"title":2329,"date":2273,"chapterOrder":2330,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0800-han-shu-yu-tou-wen-jian","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0800-函数与头文件","函數與頭文件","0800",{"path":2332,"stem":2333,"title":2334,"date":2273,"chapterOrder":2335,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0900-zhi-zhen","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0900-指针","指針","0900",{"path":2337,"stem":2338,"title":2339,"date":2273,"chapterOrder":2340,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1000-jie-gou-ti-yu-gong-yong-ti","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1000-结构体与共用体","結構體與共用體","1000",{"path":2342,"stem":2343,"title":2344,"date":2273,"chapterOrder":2345,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1100-nei-cun-fen-qu-yu-sheng-ming-zhou-qi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1100-内存分区与生命周期","內存分區與生命週期","1100",{"path":2347,"stem":2348,"title":2349,"date":2273,"chapterOrder":2350,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1200-引用","引用","1200",{"path":2352,"stem":2353,"title":2354,"date":2273,"chapterOrder":2355,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1300-han-shu-ti-gao-yu-ming-ming-kong-jian","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1300-函数提高与命名空间","函數提高與命名空間","1300",{"path":2357,"stem":2358,"title":2359,"date":2273,"chapterOrder":2360,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0100-feng-zhuang","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0100-封装","封裝","1400-0100",{"path":2362,"stem":2363,"title":2364,"date":2273,"chapterOrder":2365,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0200-dui-xiang-chu-shi-hua-he-qing-li","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0200-对象初始化和清理","對象初始化和清理","1400-0200",{"path":2367,"stem":2368,"title":2369,"date":2273,"chapterOrder":2370,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0300-对象模型与this指针","對象模型與this指針","1400-0300",{"path":2372,"stem":2373,"title":2374,"date":2273,"chapterOrder":2375,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0400-you-yuan-yu-yun-suan-fu-zhong-zai","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0400-友元与运算符重载","友元與運算符重載","1400-0400",{"path":2377,"stem":2378,"title":2379,"date":2273,"chapterOrder":2380,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0500-ji-cheng","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0500-继承","繼承","1400-0500",{"path":2382,"stem":2383,"title":2384,"date":2273,"chapterOrder":2385,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0600-duo-tai","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0600-多态","多態","1400-0600",{"path":2387,"stem":2388,"title":2389,"date":2273,"chapterOrder":2390,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-lei-he-dui-xiang","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-类和对象","類和對象","1400",{"path":2392,"stem":2393,"title":2394,"date":2273,"chapterOrder":2395,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1500-wen-jian-cao-zuo","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1500-文件操作","文件操作","1500",{"path":2397,"stem":2398,"title":2399,"date":2273,"chapterOrder":2400,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1600-yi-chang-chu-li-yu-cuo-wu-ma","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1600-异常处理与错误码","異常處理","1600",{"path":2402,"stem":2403,"title":2404,"date":2273,"chapterOrder":2405,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1700-mu-ban","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1700-模板","模板","1700",{"path":2407,"stem":2408,"title":2409,"date":2273,"chapterOrder":2410,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0100-stl-chu-shi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0100-STL初识","STL初識","1800-0100",{"path":2412,"stem":2413,"title":2414,"date":2273,"chapterOrder":2415,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0200-std-array","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0200-std-array","std::array","1800-0200",{"path":2417,"stem":2418,"title":2419,"date":2273,"chapterOrder":2420,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0300-string-rong-qi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0300-string容器","string容器","1800-0300",{"path":2422,"stem":2423,"title":2424,"date":2273,"chapterOrder":2425,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0400-vector-rong-qi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0400-vector容器","vector 容器","1800-0400",{"path":2427,"stem":2428,"title":2429,"date":2273,"chapterOrder":2430,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0500-deque-rong-qi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0500-deque容器","deque 容器","1800-0500",{"path":2432,"stem":2433,"title":2434,"date":2273,"chapterOrder":2435,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0600-stack-rong-qi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0600-stack容器","stack 容器","1800-0600",{"path":2437,"stem":2438,"title":2439,"date":2273,"chapterOrder":2440,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0700-queue-rong-qi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0700-queue容器","queue 容器","1800-0700",{"path":2442,"stem":2443,"title":2444,"date":2273,"chapterOrder":2445,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0800-list-rong-qi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0800-list容器","list 容器","1800-0800",{"path":2447,"stem":2448,"title":2449,"date":2273,"chapterOrder":2450,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0900-set-rong-qi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0900-set容器","set \u002F multiset 容器","1800-0900",{"path":2452,"stem":2453,"title":2454,"date":2273,"chapterOrder":2455,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1000-map-rong-qi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-1000-map容器","map \u002F multimap 容器","1800-1000",{"path":2457,"stem":2458,"title":2459,"date":2273,"chapterOrder":2460,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-1100-函数对象与谓词","函數對象與謂詞","1800-1100",{"path":2462,"stem":2463,"title":2464,"date":2273,"chapterOrder":2465,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1200-chang-yong-suan-fa","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-1200-常用算法","常用算法","1800-1200",{"path":2467,"stem":2468,"title":2469,"date":2273,"chapterOrder":2470,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-stl-ti-gao-bian-cheng","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-STL提高编程","STL提高編程","1800",{"path":2472,"stem":2473,"title":2474,"date":2273,"chapterOrder":2475,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1900-c-lei-xing-zhuan-huan","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1900-C++类型转换","C++類型轉換","1900",{"path":2477,"stem":2478,"title":2479,"date":2273,"chapterOrder":2480,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0100-auto","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0100-auto","auto","2000-0100",{"path":2482,"stem":2483,"title":2484,"date":2273,"chapterOrder":2485,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0200-nullptr","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0200-nullptr","nullptr","2000-0200",{"path":2487,"stem":2488,"title":2489,"date":2273,"chapterOrder":2490,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0300-using","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0300-using","using","2000-0300",{"path":2492,"stem":2493,"title":2494,"date":2273,"chapterOrder":2495,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0400-enum-class","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0400-enum-class","enum class","2000-0400",{"path":2497,"stem":2498,"title":2499,"date":2273,"chapterOrder":2500,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0500-fan-wei-for-xun-huan","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0500-范围for循环","範圍 for 循環","2000-0500",{"path":2502,"stem":2503,"title":2504,"date":2273,"chapterOrder":2505,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0600-jie-gou-hua-bang-ding","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0600-结构化绑定","結構化綁定","2000-0600",{"path":2507,"stem":2508,"title":2509,"date":2273,"chapterOrder":2510,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0700-constexpr","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0700-constexpr","constexpr","2000-0700",{"path":2512,"stem":2513,"title":2514,"date":2273,"chapterOrder":2515,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0800-raii","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0800-RAII","RAII","2000-0800",{"path":2517,"stem":2518,"title":2519,"date":2273,"chapterOrder":2520,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0900-zhi-neng-zhi-zhen","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0900-智能指针","智能指針","2000-0900",{"path":2522,"stem":2523,"title":2524,"date":2273,"chapterOrder":2525,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1000-you-zhi-yin-yong-he-yi-dong-yu-yi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1000-右值引用和移动语义","右值引用和移動語義","2000-1000",{"path":2527,"stem":2528,"title":2529,"date":2273,"chapterOrder":2530,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1100-lambda-biao-da-shi","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1100-Lambda表达式","Lambda 表達式","2000-1100",{"path":2532,"stem":2533,"title":2534,"date":2273,"chapterOrder":2535,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1200-std-function","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1200-std-function","std::function","2000-1200",{"path":2271,"stem":2287,"title":5,"date":2273,"chapterOrder":2272,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},{"path":2538,"stem":2539,"title":2540,"date":2273,"chapterOrder":2541,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1400-std-optional","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1400-std-optional","std::optional","2000-1400",{"path":2543,"stem":2544,"title":2545,"date":2273,"chapterOrder":2546,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1500-std-variant","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1500-std-variant","std::variant","2000-1500",{"path":2548,"stem":2549,"title":2550,"date":2273,"chapterOrder":2551,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1600-std-span","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1600-std-span","std::span","2000-1600",{"path":2553,"stem":2554,"title":2555,"date":2273,"chapterOrder":2556,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1700-std-format-print","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1700-std-format-print","std::format \u002F std::print","2000-1700",{"path":2558,"stem":2559,"title":2560,"date":2273,"chapterOrder":2561,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1800-std-chrono","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1800-std-chrono","std::chrono","2000-1800",{"path":2563,"stem":2564,"title":2565,"date":2273,"chapterOrder":2566,"chapterDepth":181,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0100-std-thread","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0100-std-thread","std::thread 與 join","2000-1900-0100",{"path":2568,"stem":2569,"title":2570,"date":2273,"chapterOrder":2571,"chapterDepth":181,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0200-mutex-lock-guard","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0200-mutex-lock-guard","mutex 與 lock_guard","2000-1900-0200",{"path":2573,"stem":2574,"title":2575,"date":2273,"chapterOrder":2576,"chapterDepth":181,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0300-std-atomic","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0300-std-atomic","std::atomic","2000-1900-0300",{"path":2578,"stem":2579,"title":2580,"date":2273,"chapterOrder":2581,"chapterDepth":181,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0400-condition-variable","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0400-condition-variable","condition_variable","2000-1900-0400",{"path":2583,"stem":2584,"title":2585,"date":2273,"chapterOrder":2586,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-并发编程","併發編程","2000-1900",{"path":2588,"stem":2589,"title":2590,"date":2273,"chapterOrder":2591,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2000-std-filesystem","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-2000-std-filesystem","std::filesystem","2000-2000",{"path":2593,"stem":2594,"title":2595,"date":2273,"chapterOrder":2596,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2100-modules-jian-jie","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-2100-modules简介","modules 簡介","2000-2100",{"path":2598,"stem":2599,"title":2600,"date":2273,"chapterOrder":2601,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-现代C++","現代C++","2000",{"path":2603,"stem":2604,"title":2605,"date":2273,"chapterOrder":2606,"chapterDepth":181,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0100-ding-shi-qi-yu-yi-bu-io","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0100-定时器与异步IO","定時器與異步 IO","2100-0100-0100",{"path":2608,"stem":2609,"title":2610,"date":2273,"chapterOrder":2611,"chapterDepth":181,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0200-boost-asio-ji-chu","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0200-Boost.Asio基础","Boost.Asio 基礎","2100-0100-0200",{"path":2613,"stem":2614,"title":2615,"date":2273,"chapterOrder":2616,"chapterDepth":181,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0300-chuan-kou-tong-xin","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0300-串口通信","串口通信","2100-0100-0300",{"path":2618,"stem":2619,"title":2620,"date":2273,"chapterOrder":2621,"chapterDepth":181,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0400-tcp-tong-xin","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0400-TCP通信","TCP 通信","2100-0100-0400",{"path":2623,"stem":2624,"title":2625,"date":2273,"chapterOrder":2626,"chapterDepth":181,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0500-udp-tong-xin","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0500-UDP通信","UDP 通信","2100-0100-0500",{"path":2628,"stem":2629,"title":2630,"date":2273,"chapterOrder":2631,"chapterDepth":181,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0600-ji-qi-ren-gong-cheng-xie-fa-yu-ros2-ji-cheng","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0600-机器人工程写法与ROS2集成","機器人工程寫法與 ROS2 集成","2100-0100-0600",{"path":2633,"stem":2634,"title":2635,"date":2273,"chapterOrder":2636,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-boost-asio-yi-bu-io-ku","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-Boost.Asio异步IO库","Boost.Asio異步IO庫","2100-0100",{"path":2638,"stem":2639,"title":2640,"date":2273,"chapterOrder":2641,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0200-eigen-xian-xing-dai-shu-ku","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0200-Eigen线性代数库","Eigen線性代數庫","2100-0200",{"path":2643,"stem":2644,"title":2645,"date":2273,"chapterOrder":2646,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0300-opencv-ji-suan-ji-shi-jue-ku","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0300-OpenCV计算机视觉库","OpenCV計算機視覺庫","2100-0300",{"path":2648,"stem":2649,"title":2650,"date":2273,"chapterOrder":2651,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0400-pcl-dian-yun-ku","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0400-PCL点云库","PCL點雲庫","2100-0400",{"path":2653,"stem":2654,"title":2655,"date":2273,"chapterOrder":2656,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0500-sophus-li-qun-li-dai-shu-ku","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0500-Sophus李群李代数库","Sophus 李群李代數庫","2100-0500",{"path":2658,"stem":2659,"title":2660,"date":2273,"chapterOrder":2661,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-chang-yong-ku","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-常用库","常用庫學習","2100",{"path":2663,"stem":2664,"title":2665,"date":2273,"chapterOrder":2666,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0100-cmakepresets-yu-gou-jian-an-zhuang","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0100-CMakePresets与构建安装","CMakePresets與構建安裝","2200-0100",{"path":2668,"stem":2669,"title":2670,"date":2273,"chapterOrder":2671,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0200-ding-ceng-cmake-yu-gong-gong-bian-yi-xuan-xiang","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0200-顶层CMake与公共编译选项","頂層CMake與公共編譯選項","2200-0200",{"path":2673,"stem":2674,"title":2675,"date":2273,"chapterOrder":2676,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0300-src-yu-lib-mo-kuai-cmake-xiang-jie","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0300-src与lib模块CMake详解","src與lib模塊CMake詳解","2200-0300",{"path":2678,"stem":2679,"title":2680,"date":2273,"chapterOrder":2681,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0400-di-san-fang-ku-yi-lai-xie-fa","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0400-第三方库依赖写法","第三方庫依賴寫法","2200-0400",{"path":2683,"stem":2684,"title":2685,"date":2273,"chapterOrder":2686,"chapterDepth":170,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0500-mu-ban-kuo-zhan-yu-chang-jian-wen-ti","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0500-模板扩展与常见问题","模板擴展與常見問題","2200-0500",{"path":2688,"stem":2689,"title":2690,"date":2273,"chapterOrder":2691,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":2280},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-cmake-gong-cheng-mu-ban","_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-CMake工程模板","CMake工程模板","2200",{"path":2276,"stem":2693,"title":2694,"date":2273,"chapterOrder":2281,"chapterDepth":2295,"docKey":2275,"docRoot":2276,"docTitle":2277,"isWikiDoc":200,"isWikiIndex":200},"_i18n\u002Fzh-tw\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002Findex","C\u002FC++教程",{"variants":2696},[2697,2700,2703,2706,2707],{"path":2698,"localeSlug":2699,"i18nKey":2279},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind","en-us",{"path":2701,"localeSlug":2702,"i18nKey":2279},"\u002Fzh-hant\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind","zh-hant",{"path":2704,"localeSlug":2705,"i18nKey":2279},"\u002Fzh-hk\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind","zh-hk",{"path":2271,"localeSlug":2283,"i18nKey":2279},{"path":2708,"localeSlug":2709,"i18nKey":2279},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind","zh-cn",[2698,2286,2701,2286,2704,2286,2271,2286,2708,2286],1784646894885]