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