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