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