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