[{"data":1,"prerenderedAt":2522},["ShallowReactive",2],{"wiki-page-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print":3,"wiki-doc-items-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print":2094,"language-switcher-data-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print":2506,"wiki-i18n-paths-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print":2521},{"id":4,"title":5,"body":6,"canonicalPath":2076,"chapter":2077,"chapterSort":2078,"date":2079,"description":112,"docI18nKey":2080,"docKey":2081,"docRoot":2082,"docTitle":2083,"extension":2084,"i18nKey":2085,"isBlogPost":2086,"isWikiDoc":222,"isWikiIndex":2086,"layout":2087,"legacyPath":2088,"locale":2089,"localeSlug":2090,"meta":2091,"navigation":222,"path":2076,"seo":2092,"sourcePath":2088,"sourceStem":2085,"stem":2085,"wikiDepth":119,"__hash__":2093},"content/wiki/2023-10-05-Cplusplus教学/ch18-17-std-format-print.md","std::format / 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/23 引入了 ",[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>    // for std::format (C++20)\n#include \u003Cprint>     // 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","    // 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},"     // 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},"// std::format：返回 string\nstd::string s = std::format(\"Hello, {}!\", name);\nstd::string s2 = std::format(\"{0} + {1} = {2}\", a, b, a + b);\n\n// std::print：直接输出（不自动换行）\nstd::print(\"x = {}, y = {}\", x, y);\n\n// std::println：输出并换行\nstd::println(\"Hello, {}!\", name);\n\n// 指定输出目标：stdout / stderr 是 FILE*\nstd::println(stdout, \"normal message\");\nstd::println(stderr, \"error message\");\n\n// 格式控制\nstd::format(\"{:.2f}\", 3.14159);     // \"3.14\" —— 保留 2 位小数\nstd::format(\"{:>10}\", 42);          // \"        42\" —— 右对齐，宽度 10\nstd::format(\"{:\u003C10}\", 42);          // \"42        \" —— 左对齐\nstd::format(\"{:^10}\", 42);          // \"    42    \" —— 居中\nstd::format(\"{:#x}\", 255);          // \"0xff\" —— 十六进制带前缀\nstd::format(\"{:04d}\", 7);           // \"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},"// 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},"// 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},"// 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},"// 指定输出目标：stdout / 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},"// 格式控制\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},"     // \"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},"          // \"        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},"          // \"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},"          // \"    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},"          // \"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},"           // \"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],{}," / ",[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    // 基本占位符\n    std::string s1 = std::format(\"Name: {}, Age: {}, Score: {}\", name, age, score);\n    std::cout \u003C\u003C s1 \u003C\u003C \"\\n\";\n\n    // 指定顺序\n    std::string s2 = std::format(\"{1} is {0} years old\", age, name);\n    std::cout \u003C\u003C s2 \u003C\u003C \"\\n\";\n\n    // 保留 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},"    // 基本占位符\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},"    // 指定顺序\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},"    // 保留 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    // 右对齐，宽度 10\n    std::cout \u003C\u003C std::format(\"[{:>10}]\\n\", 42);\n\n    // 左对齐，宽度 10\n    std::cout \u003C\u003C std::format(\"[{:\u003C10}]\\n\", 42);\n\n    // 居中，宽度 10\n    std::cout \u003C\u003C std::format(\"[{:^10}]\\n\", 42);\n\n    // 前导零\n    std::cout \u003C\u003C std::format(\"{:05d}\\n\", 7);\n\n    // 十六进制\n    std::cout \u003C\u003C std::format(\"hex = {:#x}, oct = {:#o}\\n\", 255, 255);\n\n    // 打印一个简单的表格\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},"    // 右对齐，宽度 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},"    // 左对齐，宽度 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},"    // 居中，宽度 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},"    // 前导零\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},"    // 十六进制\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},"    // 打印一个简单的表格\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    // 直接输出，不换行\n    std::print(\"Hello, \");\n    std::print(\"{}\", name);\n    std::print(\"!\\n\");\n\n    // 输出到 stdout 并换行\n    std::println(\"The answer is {}\", value);\n\n    // 第一个参数也可以显式写 stdout\n    std::println(stdout, \"stdout: {}\", name);\n\n    // 带格式输出\n    std::println(\"pi = {:.3f}\", 3.1415926);\n\n    // 输出到 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},"    // 直接输出，不换行\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},"    // 输出到 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},"    // 第一个参数也可以显式写 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},"    // 带格式输出\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},"    // 输出到 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/println 直接输出",[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);       // ❌ 缺少 : 前的占位符\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},"       // ❌ 缺少 : 前的占位符\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);  // ❌ 有 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},"  // ❌ 有 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}\");  // ❌ {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},"  // ❌ {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}}\");  // 输出：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},"  // 输出：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],{},"/",[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/23","，可以使用 ",[24,1997,83],{}," 库（",[2000,2001,2005],"a",{"href":2002,"rel":2003},"https://github.com/fmtlib/fmt%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://github.com/fmtlib/fmt），它是标准化的基础。",[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},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print","18.17",18170000,"2023-10-05","wiki/2023-10-05-cplusplus-jiao-xue","zh-cn:2023-10-05-cplusplus-jiao-xue","/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue","Cplusplus教学","md","wiki/2023-10-05-Cplusplus教学/ch18-17-std-format-print",false,null,"/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print","zh-CN","zh-cn",{},{"title":5,"description":112},"UF8CpH9BAebFs1HB3VWw-fZglCaXb-3QanwDeu7UAhg",[2095,2100,2106,2112,2118,2124,2130,2136,2142,2148,2154,2160,2166,2172,2178,2184,2190,2196,2202,2208,2214,2220,2226,2232,2238,2244,2250,2256,2262,2268,2274,2280,2281,2287,2293,2299,2305,2311,2317,2323,2329,2335,2341,2347,2353,2359,2365,2371,2377,2383,2389,2395,2401,2407,2413,2419,2425,2431,2437,2443,2449,2455,2461,2467,2473,2479,2485,2490,2496,2502],{"path":2096,"stem":2097,"title":2098,"date":2079,"chapter":1865,"chapterSort":2099,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch1-c-ji-chu-chu-shi","wiki/2023-10-05-Cplusplus教学/ch1-C++基础初识","C++基础初识",1000000,{"path":2101,"stem":2102,"title":2103,"date":2079,"chapter":2104,"chapterSort":2105,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch10-nei-cun-fen-qu-yu-sheng-ming-zhou-qi","wiki/2023-10-05-Cplusplus教学/ch10-内存分区与生命周期","内存分区与生命周期","10",10000000,{"path":2107,"stem":2108,"title":2109,"date":2079,"chapter":2110,"chapterSort":2111,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch11-yin-yong","wiki/2023-10-05-Cplusplus教学/ch11-引用","引用","11",11000000,{"path":2113,"stem":2114,"title":2115,"date":2079,"chapter":2116,"chapterSort":2117,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch12-han-shu-ti-gao-yu-ming-ming-kong-jian","wiki/2023-10-05-Cplusplus教学/ch12-函数提高与命名空间","函数提高与命名空间","12",12000000,{"path":2119,"stem":2120,"title":2121,"date":2079,"chapter":2122,"chapterSort":2123,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang","wiki/2023-10-05-Cplusplus教学/ch13-1-封装","封装","13.1",13010000,{"path":2125,"stem":2126,"title":2127,"date":2079,"chapter":2128,"chapterSort":2129,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-2-dui-xiang-chu-shi-hua-he-qing-li","wiki/2023-10-05-Cplusplus教学/ch13-2-对象初始化和清理","对象初始化和清理","13.2",13020000,{"path":2131,"stem":2132,"title":2133,"date":2079,"chapter":2134,"chapterSort":2135,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch13-3-对象模型与this指针","对象模型与this指针","13.3",13030000,{"path":2137,"stem":2138,"title":2139,"date":2079,"chapter":2140,"chapterSort":2141,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-4-you-yuan-yu-yun-suan-fu-zhong-zai","wiki/2023-10-05-Cplusplus教学/ch13-4-友元与运算符重载","友元与运算符重载","13.4",13040000,{"path":2143,"stem":2144,"title":2145,"date":2079,"chapter":2146,"chapterSort":2147,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-5-ji-cheng","wiki/2023-10-05-Cplusplus教学/ch13-5-继承","继承","13.5",13050000,{"path":2149,"stem":2150,"title":2151,"date":2079,"chapter":2152,"chapterSort":2153,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-6-duo-tai","wiki/2023-10-05-Cplusplus教学/ch13-6-多态","多态","13.6",13060000,{"path":2155,"stem":2156,"title":2157,"date":2079,"chapter":2158,"chapterSort":2159,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-lei-he-dui-xiang","wiki/2023-10-05-Cplusplus教学/ch13-类和对象","类和对象","13",13000000,{"path":2161,"stem":2162,"title":2163,"date":2079,"chapter":2164,"chapterSort":2165,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch14-wen-jian-cao-zuo","wiki/2023-10-05-Cplusplus教学/ch14-文件操作","文件操作","14",14000000,{"path":2167,"stem":2168,"title":2169,"date":2079,"chapter":2170,"chapterSort":2171,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch15-mu-ban","wiki/2023-10-05-Cplusplus教学/ch15-模板","模板","15",15000000,{"path":2173,"stem":2174,"title":2175,"date":2079,"chapter":2176,"chapterSort":2177,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-1-stl-chu-shi","wiki/2023-10-05-Cplusplus教学/ch16-1-STL初识","STL初识","16.1",16010000,{"path":2179,"stem":2180,"title":2181,"date":2079,"chapter":2182,"chapterSort":2183,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-2-std-array","wiki/2023-10-05-Cplusplus教学/ch16-2-std-array","std::array","16.2",16020000,{"path":2185,"stem":2186,"title":2187,"date":2079,"chapter":2188,"chapterSort":2189,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-3-string容器","string容器","16.3",16030000,{"path":2191,"stem":2192,"title":2193,"date":2079,"chapter":2194,"chapterSort":2195,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-4-vector-yu-deque-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-4-vector与deque容器","vector与deque容器","16.4",16040000,{"path":2197,"stem":2198,"title":2199,"date":2079,"chapter":2200,"chapterSort":2201,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-5-stack-queue-list-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-5-stack-queue-list容器","stack / queue / list 容器","16.5",16050000,{"path":2203,"stem":2204,"title":2205,"date":2079,"chapter":2206,"chapterSort":2207,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-6-set-map-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-6-set-map容器","set / map 容器","16.6",16060000,{"path":2209,"stem":2210,"title":2211,"date":2079,"chapter":2212,"chapterSort":2213,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-7-han-shu-dui-xiang-yu-wei-ci","wiki/2023-10-05-Cplusplus教学/ch16-7-函数对象与谓词","函数对象与谓词","16.7",16070000,{"path":2215,"stem":2216,"title":2217,"date":2079,"chapter":2218,"chapterSort":2219,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-8-chang-yong-suan-fa","wiki/2023-10-05-Cplusplus教学/ch16-8-常用算法","常用算法","16.8",16080000,{"path":2221,"stem":2222,"title":2223,"date":2079,"chapter":2224,"chapterSort":2225,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-stl-ti-gao-bian-cheng","wiki/2023-10-05-Cplusplus教学/ch16-STL提高编程","STL提高编程","16",16000000,{"path":2227,"stem":2228,"title":2229,"date":2079,"chapter":2230,"chapterSort":2231,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch17-c-lei-xing-zhuan-huan","wiki/2023-10-05-Cplusplus教学/ch17-C++类型转换","C++类型转换","17",17000000,{"path":2233,"stem":2234,"title":2235,"date":2079,"chapter":2236,"chapterSort":2237,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-1-auto","wiki/2023-10-05-Cplusplus教学/ch18-1-auto","auto","18.1",18010000,{"path":2239,"stem":2240,"title":2241,"date":2079,"chapter":2242,"chapterSort":2243,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-10-you-zhi-yin-yong-he-yi-dong-yu-yi","wiki/2023-10-05-Cplusplus教学/ch18-10-右值引用和移动语义","右值引用和移动语义","18.10",18100000,{"path":2245,"stem":2246,"title":2247,"date":2079,"chapter":2248,"chapterSort":2249,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-11-lambda-biao-da-shi","wiki/2023-10-05-Cplusplus教学/ch18-11-Lambda表达式","Lambda 表达式","18.11",18110000,{"path":2251,"stem":2252,"title":2253,"date":2079,"chapter":2254,"chapterSort":2255,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-12-std-function","wiki/2023-10-05-Cplusplus教学/ch18-12-std-function","std::function","18.12",18120000,{"path":2257,"stem":2258,"title":2259,"date":2079,"chapter":2260,"chapterSort":2261,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-13-std-bind","wiki/2023-10-05-Cplusplus教学/ch18-13-std-bind","std::bind","18.13",18130000,{"path":2263,"stem":2264,"title":2265,"date":2079,"chapter":2266,"chapterSort":2267,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-14-std-optional","wiki/2023-10-05-Cplusplus教学/ch18-14-std-optional","std::optional","18.14",18140000,{"path":2269,"stem":2270,"title":2271,"date":2079,"chapter":2272,"chapterSort":2273,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-15-std-variant","wiki/2023-10-05-Cplusplus教学/ch18-15-std-variant","std::variant","18.15",18150000,{"path":2275,"stem":2276,"title":2277,"date":2079,"chapter":2278,"chapterSort":2279,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-16-std-span","wiki/2023-10-05-Cplusplus教学/ch18-16-std-span","std::span","18.16",18160000,{"path":2076,"stem":2085,"title":5,"date":2079,"chapter":2077,"chapterSort":2078,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},{"path":2282,"stem":2283,"title":2284,"date":2079,"chapter":2285,"chapterSort":2286,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-18-std-chrono","wiki/2023-10-05-Cplusplus教学/ch18-18-std-chrono","std::chrono","18.18",18180000,{"path":2288,"stem":2289,"title":2290,"date":2079,"chapter":2291,"chapterSort":2292,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-1-std-thread","wiki/2023-10-05-Cplusplus教学/ch18-19-1-std-thread","std::thread 与 join","18.19.1",18190100,{"path":2294,"stem":2295,"title":2296,"date":2079,"chapter":2297,"chapterSort":2298,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-2-mutex-lock-guard","wiki/2023-10-05-Cplusplus教学/ch18-19-2-mutex-lock-guard","mutex 与 lock_guard","18.19.2",18190200,{"path":2300,"stem":2301,"title":2302,"date":2079,"chapter":2303,"chapterSort":2304,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-3-std-atomic","wiki/2023-10-05-Cplusplus教学/ch18-19-3-std-atomic","std::atomic","18.19.3",18190300,{"path":2306,"stem":2307,"title":2308,"date":2079,"chapter":2309,"chapterSort":2310,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-4-condition-variable","wiki/2023-10-05-Cplusplus教学/ch18-19-4-condition-variable","condition_variable","18.19.4",18190400,{"path":2312,"stem":2313,"title":2314,"date":2079,"chapter":2315,"chapterSort":2316,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-bing-fa-bian-cheng","wiki/2023-10-05-Cplusplus教学/ch18-19-并发编程","并发编程","18.19",18190000,{"path":2318,"stem":2319,"title":2320,"date":2079,"chapter":2321,"chapterSort":2322,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-2-nullptr","wiki/2023-10-05-Cplusplus教学/ch18-2-nullptr","nullptr","18.2",18020000,{"path":2324,"stem":2325,"title":2326,"date":2079,"chapter":2327,"chapterSort":2328,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-20-std-filesystem","wiki/2023-10-05-Cplusplus教学/ch18-20-std-filesystem","std::filesystem","18.20",18200000,{"path":2330,"stem":2331,"title":2332,"date":2079,"chapter":2333,"chapterSort":2334,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-21-modules-jian-jie","wiki/2023-10-05-Cplusplus教学/ch18-21-modules简介","modules 简介","18.21",18210000,{"path":2336,"stem":2337,"title":2338,"date":2079,"chapter":2339,"chapterSort":2340,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-3-using","wiki/2023-10-05-Cplusplus教学/ch18-3-using","using","18.3",18030000,{"path":2342,"stem":2343,"title":2344,"date":2079,"chapter":2345,"chapterSort":2346,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-4-enum-class","wiki/2023-10-05-Cplusplus教学/ch18-4-enum-class","enum class","18.4",18040000,{"path":2348,"stem":2349,"title":2350,"date":2079,"chapter":2351,"chapterSort":2352,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-5-fan-wei-for-xun-huan","wiki/2023-10-05-Cplusplus教学/ch18-5-范围for循环","范围 for 循环","18.5",18050000,{"path":2354,"stem":2355,"title":2356,"date":2079,"chapter":2357,"chapterSort":2358,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-6-jie-gou-hua-bang-ding","wiki/2023-10-05-Cplusplus教学/ch18-6-结构化绑定","结构化绑定","18.6",18060000,{"path":2360,"stem":2361,"title":2362,"date":2079,"chapter":2363,"chapterSort":2364,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-7-constexpr","wiki/2023-10-05-Cplusplus教学/ch18-7-constexpr","constexpr","18.7",18070000,{"path":2366,"stem":2367,"title":2368,"date":2079,"chapter":2369,"chapterSort":2370,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-8-raii","wiki/2023-10-05-Cplusplus教学/ch18-8-RAII","RAII","18.8",18080000,{"path":2372,"stem":2373,"title":2374,"date":2079,"chapter":2375,"chapterSort":2376,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-9-zhi-neng-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch18-9-智能指针","智能指针","18.9",18090000,{"path":2378,"stem":2379,"title":2380,"date":2079,"chapter":2381,"chapterSort":2382,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-xian-dai-c","wiki/2023-10-05-Cplusplus教学/ch18-现代C++","现代C++","18",18000000,{"path":2384,"stem":2385,"title":2386,"date":2079,"chapter":2387,"chapterSort":2388,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-1-ding-shi-qi-yu-yi-bu-io","wiki/2023-10-05-Cplusplus教学/ch19-1-1-定时器与异步IO","定时器与异步 IO","19.1.1",19010100,{"path":2390,"stem":2391,"title":2392,"date":2079,"chapter":2393,"chapterSort":2394,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-2-boost-asio-ji-chu","wiki/2023-10-05-Cplusplus教学/ch19-1-2-Boost.Asio基础","Boost.Asio 基础","19.1.2",19010200,{"path":2396,"stem":2397,"title":2398,"date":2079,"chapter":2399,"chapterSort":2400,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-3-chuan-kou-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-3-串口通信","串口通信","19.1.3",19010300,{"path":2402,"stem":2403,"title":2404,"date":2079,"chapter":2405,"chapterSort":2406,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-4-tcp-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-4-TCP通信","TCP 通信","19.1.4",19010400,{"path":2408,"stem":2409,"title":2410,"date":2079,"chapter":2411,"chapterSort":2412,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-5-udp-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-5-UDP通信","UDP 通信","19.1.5",19010500,{"path":2414,"stem":2415,"title":2416,"date":2079,"chapter":2417,"chapterSort":2418,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-6-ji-qi-ren-gong-cheng-xie-fa-yu-ros2-ji-cheng","wiki/2023-10-05-Cplusplus教学/ch19-1-6-机器人工程写法与ROS2集成","机器人工程写法与 ROS2 集成","19.1.6",19010600,{"path":2420,"stem":2421,"title":2422,"date":2079,"chapter":2423,"chapterSort":2424,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-boost-asio-yi-bu-io-ku","wiki/2023-10-05-Cplusplus教学/ch19-1-Boost.Asio异步IO库","Boost.Asio异步IO库","19.1",19010000,{"path":2426,"stem":2427,"title":2428,"date":2079,"chapter":2429,"chapterSort":2430,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-2-eigen-xian-xing-dai-shu-ku","wiki/2023-10-05-Cplusplus教学/ch19-2-Eigen线性代数库","Eigen线性代数库","19.2",19020000,{"path":2432,"stem":2433,"title":2434,"date":2079,"chapter":2435,"chapterSort":2436,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-3-opencv-ji-suan-ji-shi-jue-ku","wiki/2023-10-05-Cplusplus教学/ch19-3-OpenCV计算机视觉库","OpenCV计算机视觉库","19.3",19030000,{"path":2438,"stem":2439,"title":2440,"date":2079,"chapter":2441,"chapterSort":2442,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-4-pcl-dian-yun-ku","wiki/2023-10-05-Cplusplus教学/ch19-4-PCL点云库","PCL点云库","19.4",19040000,{"path":2444,"stem":2445,"title":2446,"date":2079,"chapter":2447,"chapterSort":2448,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-5-sophus-li-qun-li-dai-shu-ku","wiki/2023-10-05-Cplusplus教学/ch19-5-Sophus李群李代数库","Sophus 李群李代数库","19.5",19050000,{"path":2450,"stem":2451,"title":2452,"date":2079,"chapter":2453,"chapterSort":2454,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-chang-yong-ku","wiki/2023-10-05-Cplusplus教学/ch19-常用库","常用库学习","19",19000000,{"path":2456,"stem":2457,"title":2458,"date":2079,"chapter":2459,"chapterSort":2460,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang","wiki/2023-10-05-Cplusplus教学/ch2-数据类型与数据存放","数据类型与数据存放","2",2000000,{"path":2462,"stem":2463,"title":2464,"date":2079,"chapter":2465,"chapterSort":2466,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch3-shu-ru-shu-chu","wiki/2023-10-05-Cplusplus教学/ch3-输入输出","输入输出","3",3000000,{"path":2468,"stem":2469,"title":2470,"date":2079,"chapter":2471,"chapterSort":2472,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch4-yun-suan-fu","wiki/2023-10-05-Cplusplus教学/ch4-运算符","运算符","4",4000000,{"path":2474,"stem":2475,"title":2476,"date":2079,"chapter":2477,"chapterSort":2478,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch5-cheng-xu-liu-cheng-jie-gou","wiki/2023-10-05-Cplusplus教学/ch5-程序流程结构","程序流程结构","5",5000000,{"path":2480,"stem":2481,"title":2482,"date":2079,"chapter":2483,"chapterSort":2484,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch6-shu-zu","wiki/2023-10-05-Cplusplus教学/ch6-数组","数组","6",6000000,{"path":2486,"stem":2487,"title":2488,"date":2079,"chapter":471,"chapterSort":2489,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch7-han-shu-yu-tou-wen-jian","wiki/2023-10-05-Cplusplus教学/ch7-函数与头文件","函数与头文件",7000000,{"path":2491,"stem":2492,"title":2493,"date":2079,"chapter":2494,"chapterSort":2495,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch8-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch8-指针","指针","8",8000000,{"path":2497,"stem":2498,"title":2499,"date":2079,"chapter":2500,"chapterSort":2501,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":2086},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch9-jie-gou-ti-yu-gong-yong-ti","wiki/2023-10-05-Cplusplus教学/ch9-结构体与共用体","结构体与共用体","9",9000000,{"path":2082,"stem":2503,"title":2504,"date":2079,"chapter":2087,"chapterSort":2505,"docKey":2081,"docRoot":2082,"docTitle":2083,"isWikiDoc":222,"isWikiIndex":222},"wiki/2023-10-05-Cplusplus教学/index","C/C++教程",0,{"variants":2507},[2508,2511,2514,2517,2520],{"path":2509,"localeSlug":2510,"i18nKey":2085},"/en-us/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print","en-us",{"path":2512,"localeSlug":2513,"i18nKey":2085},"/zh-hant/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print","zh-hant",{"path":2515,"localeSlug":2516,"i18nKey":2085},"/zh-hk/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print","zh-hk",{"path":2518,"localeSlug":2519,"i18nKey":2085},"/zh-tw/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print","zh-tw",{"path":2076,"localeSlug":2090,"i18nKey":2085},[2509,2088,2512,2088,2515,2088,2518,2088,2076,2088],1780663037487]