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