[{"data":1,"prerenderedAt":1832},["ShallowReactive",2],{"wiki-page-\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0100-c-kai-fa-huan-jing-da-jian-yu-ce-shi":3,"wiki-doc-items-2023-10-05-cplusplus-jiao-xue":1278,"wiki:author-members":1820},{"id":4,"title":5,"authors":6,"body":8,"chapterDepth":1264,"chapterOrder":1265,"date":1266,"description":14,"docKey":1267,"docRoot":1268,"docTitle":1269,"extension":1270,"isWikiDoc":1271,"isWikiIndex":1272,"meta":1273,"navigation":1271,"path":1274,"seo":1275,"stem":1276,"wikiDepth":214,"__hash__":1277},"wiki\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0100-C++开发环境搭建与测试.md","C++开发环境搭建与测试",[7],"董佳辉",{"type":9,"value":10,"toc":1241},"minimark",[11,15,18,33,42,52,56,63,66,76,79,96,99,186,195,198,203,257,264,268,298,385,388,429,432,436,443,449,452,455,460,471,479,482,498,503,507,510,519,524,527,533,536,541,544,549,553,556,570,573,623,626,647,656,661,665,697,703,706,708,712,715,718,725,756,759,764,769,772,775,778,798,801,806,811,815,818,824,918,925,978,981,988,994,997,1049,1052,1055,1059,1062,1068,1071,1087,1090,1105,1109,1112,1128,1130,1145,1149,1155,1171,1174,1197,1200,1203,1206,1223,1237],[12,13,14],"p",{},"这一章先不改代码，只做一件很具体的事：",[12,16,17],{},"在 Linux 上把我准备好的 CMake 模板跑起来。",[12,19,20,21,25,26,25,29,32],{},"如果你刚开始学 C++，看到 ",[22,23,24],"code",{},"CMake","、",[22,27,28],{},"Ninja",[22,30,31],{},"target_link_libraries"," 这些名字不用紧张。本章不要求你理解它们的全部原理，先照着步骤把工程跑通。等后面学到头文件、分文件编写、第三方库时，再回来看这些内容会更自然。",[12,34,35,36,41],{},"完整 CMake 模板详解放在后面的 ",[37,38,40],"a",{"href":39},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-cmake-gong-cheng-mu-ban","CMake工程模板","。本章只关心两件事：",[43,44,45,49],"ol",{},[46,47,48],"li",{},"你的电脑能不能编译并运行 C++ 工程。",[46,50,51],{},"VSCode 能不能用 F5 调试这个工程。",[53,54,55],"h2",{"id":55},"本章最终效果",[12,57,58,59,62],{},"做完本章后，你会得到一个名为 ",[22,60,61],{},"hello_cpp"," 的文件夹，里面是完整的 CMake 模板工程。",[12,64,65],{},"原样运行模板时，输出类似：",[67,68,74],"pre",{"className":69,"code":71,"language":72,"meta":73},[70],"language-text","[lib1] Vector v = 1 2 3\n[lib1] Norm = 3.74166\n[lib2] Matrix m =\n1 2\n3 4\n[lib2] Determinant = -2\n","text","",[22,75,71],{"__ignoreMap":73},[12,77,78],{},"这一章会按下面的顺序来：",[43,80,81,84,87,90,93],{},[46,82,83],{},"在 Ubuntu 或 Fedora 上安装 C++ 开发工具。",[46,85,86],{},"下载我准备好的 CMake 模板。",[46,88,89],{},"先原样运行模板，确认环境没问题。",[46,91,92],{},"看一下模板里哪些文件和后面的学习有关。",[46,94,95],{},"用 VSCode 按 F5 调试模板程序。",[12,97,98],{},"先认识几个名字，后面看到它们就不会太突然：",[100,101,102,116],"table",{},[103,104,105],"thead",{},[106,107,108,113],"tr",{},[109,110,112],"th",{"align":111},"left","名字",[109,114,115],{"align":111},"先这样理解",[117,118,119,130,143,152,162,176],"tbody",{},[106,120,121,127],{},[122,123,124],"td",{"align":111},[22,125,126],{},"g++",[122,128,129],{"align":111},"真正编译 C++ 代码的编译器",[106,131,132,136],{},[122,133,134],{"align":111},[22,135,24],{},[122,137,138,139,142],{"align":111},"读取 ",[22,140,141],{},"CMakeLists.txt","，生成构建规则",[106,144,145,149],{},[122,146,147],{"align":111},[22,148,28],{},[122,150,151],{"align":111},"按照 CMake 生成的规则执行编译",[106,153,154,159],{},[122,155,156],{"align":111},[22,157,158],{},"GDB",[122,160,161],{"align":111},"调试器，VSCode 按 F5 时会用到",[106,163,164,173],{},[122,165,166,169,170],{"align":111},[22,167,168],{},"lib1"," \u002F ",[22,171,172],{},"lib2",[122,174,175],{"align":111},"模板里自带的两个示例小库，本章先不改它们",[106,177,178,183],{},[122,179,180],{"align":111},[22,181,182],{},"cmake_template",[122,184,185],{"align":111},"模板当前生成的可执行程序名",[12,187,188,189,191,192,194],{},"注意：",[22,190,61],{}," 是我们 clone 下来的文件夹名，",[22,193,182],{}," 是这个工程当前生成的程序名。它们不是一回事。",[53,196,197],{"id":197},"安装基础工具",[199,200,202],"h3",{"id":201},"ubuntu-debian","Ubuntu \u002F Debian",[67,204,208],{"className":205,"code":206,"language":207,"meta":73,"style":73},"language-bash shiki shiki-themes github-light github-dark","sudo apt update\nsudo apt install git cmake ninja-build gcc g++ gdb libeigen3-dev\n","bash",[22,209,210,226],{"__ignoreMap":73},[211,212,215,219,223],"span",{"class":213,"line":214},"line",1,[211,216,218],{"class":217},"sScJk","sudo",[211,220,222],{"class":221},"sZZnC"," apt",[211,224,225],{"class":221}," update\n",[211,227,229,231,233,236,239,242,245,248,251,254],{"class":213,"line":228},2,[211,230,218],{"class":217},[211,232,222],{"class":221},[211,234,235],{"class":221}," install",[211,237,238],{"class":221}," git",[211,240,241],{"class":221}," cmake",[211,243,244],{"class":221}," ninja-build",[211,246,247],{"class":221}," gcc",[211,249,250],{"class":221}," g++",[211,252,253],{"class":221}," gdb",[211,255,256],{"class":221}," libeigen3-dev\n",[12,258,259,260,263],{},"这里安装了 ",[22,261,262],{},"libeigen3-dev","，是因为模板原始示例里用到了 Eigen。先装上它，模板就能直接跑起来。",[199,265,267],{"id":266},"fedora","Fedora",[67,269,271],{"className":205,"code":270,"language":207,"meta":73,"style":73},"sudo dnf install git cmake ninja-build gcc gcc-c++ gdb eigen3-devel\n",[22,272,273],{"__ignoreMap":73},[211,274,275,277,280,282,284,286,288,290,293,295],{"class":213,"line":214},[211,276,218],{"class":217},[211,278,279],{"class":221}," dnf",[211,281,235],{"class":221},[211,283,238],{"class":221},[211,285,241],{"class":221},[211,287,244],{"class":221},[211,289,247],{"class":221},[211,291,292],{"class":221}," gcc-c++",[211,294,253],{"class":221},[211,296,297],{"class":221}," eigen3-devel\n",[100,299,300,313],{},[103,301,302],{},[106,303,304,307,310],{},[109,305,306],{},"Ubuntu\u002FDebian",[109,308,309],{},"Fedora\u002FRHEL",[109,311,312],{},"说明",[117,314,315,325,335,345,355,365,375],{},[106,316,317,320,322],{},[122,318,319],{},"git",[122,321,319],{},[122,323,324],{},"版本控制工具",[106,326,327,330,332],{},[122,328,329],{},"cmake",[122,331,329],{},[122,333,334],{},"CMake 构建工具",[106,336,337,340,342],{},[122,338,339],{},"ninja-build",[122,341,339],{},[122,343,344],{},"Ninja 构建工具",[106,346,347,350,352],{},[122,348,349],{},"gcc",[122,351,349],{},[122,353,354],{},"C 编译器",[106,356,357,359,362],{},[122,358,126],{},[122,360,361],{},"gcc-c++",[122,363,364],{},"C++ 编译器",[106,366,367,370,372],{},[122,368,369],{},"gdb",[122,371,369],{},[122,373,374],{},"GNU 调试器",[106,376,377,379,382],{},[122,378,262],{},[122,380,381],{},"eigen3-devel",[122,383,384],{},"Eigen3 C++ 数值库开发文件",[53,386,387],{"id":387},"检查工具是否安装成功",[67,389,391],{"className":205,"code":390,"language":207,"meta":73,"style":73},"git --version\ncmake --version\nninja --version\ng++ --version\ngdb --version\n",[22,392,393,401,407,415,422],{"__ignoreMap":73},[211,394,395,397],{"class":213,"line":214},[211,396,319],{"class":217},[211,398,400],{"class":399},"sj4cs"," --version\n",[211,402,403,405],{"class":213,"line":228},[211,404,329],{"class":217},[211,406,400],{"class":399},[211,408,410,413],{"class":213,"line":409},3,[211,411,412],{"class":217},"ninja",[211,414,400],{"class":399},[211,416,418,420],{"class":213,"line":417},4,[211,419,126],{"class":217},[211,421,400],{"class":399},[211,423,425,427],{"class":213,"line":424},5,[211,426,369],{"class":217},[211,428,400],{"class":399},[12,430,431],{},"这些命令都能输出版本号，就说明基础环境已经可用。",[53,433,435],{"id":434},"安装vscode","安装VScode",[12,437,438],{},[37,439,440],{"href":440,"rel":441},"https:\u002F\u002Fcode.visualstudio.com\u002FDownload",[442],"nofollow",[12,444,445],{},[446,447],"img",{"alt":73,"src":448},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2025\u002F07\u002F18\u002Fimage23.webp",[12,450,451],{},"如果是debian系下载deb,如果是rhel系下载rpm.",[12,453,454],{},"下载完之后，点击浏览器，找到这个安装包的文件夹，并在该路径打开终端。",[12,456,457],{},[446,458],{"alt":73,"src":459},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2025\u002F07\u002F18\u002Fimage24.webp",[12,461,462,463,466,467,470],{},"Debian系：输入",[22,464,465],{},"sudo apt install .\u002Fcode","然后按",[22,468,469],{},"tab","按键补齐文件名，回车。",[12,472,473,474,466,477,470],{},"RHEL系：输入",[22,475,476],{},"sudo dnf install .\u002Fcode",[22,478,469],{},[12,480,481],{},"例如补齐后的：",[67,483,485],{"className":205,"code":484,"language":207,"meta":73,"style":73},"sudo dnf install .\u002Fcode-1.102.1-1752598767.el8.x86_64.rpm\n",[22,486,487],{"__ignoreMap":73},[211,488,489,491,493,495],{"class":213,"line":214},[211,490,218],{"class":217},[211,492,279],{"class":221},[211,494,235],{"class":221},[211,496,497],{"class":221}," .\u002Fcode-1.102.1-1752598767.el8.x86_64.rpm\n",[12,499,500],{},[446,501],{"alt":73,"src":502},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2025\u002F07\u002F18\u002Fimage25.webp",[53,504,506],{"id":505},"配置vscode","配置VScode",[12,508,509],{},"然后打开VScode，在终端输入下面的命令",[67,511,513],{"className":205,"code":512,"language":207,"meta":73,"style":73},"code\n",[22,514,515],{"__ignoreMap":73},[211,516,517],{"class":213,"line":214},[211,518,512],{"class":217},[12,520,521],{},[446,522],{"alt":73,"src":523},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2025\u002F07\u002F18\u002Fimage26.webp",[12,525,526],{},"然后可以配置一个环境单独给C++环境使用，避免和默认环境冲突。",[12,528,529],{},[446,530],{"alt":531,"src":532},"alt text","https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2026\u002F04\u002F17\u002F1776420070033.webp",[12,534,535],{},"进行一些设置，按我的来就可以",[12,537,538],{},[446,539],{"alt":531,"src":540},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780705209213.webp",[12,542,543],{},"选中你创建的CMake配置",[12,545,546],{},[446,547],{"alt":531,"src":548},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780705255118.webp",[53,550,552],{"id":551},"安装-vscode-扩展","安装 VSCode 扩展",[12,554,555],{},"建议在 VSCode 里安装这些扩展：",[43,557,558,561,564,567],{},[46,559,560],{},"CMake Tools",[46,562,563],{},"C\u002FC++",[46,565,566],{},"C\u002FC++ DevTools",[46,568,569],{},"clangd",[12,571,572],{},"它们的分工是：",[100,574,575,585],{},[103,576,577],{},[106,578,579,582],{},[109,580,581],{"align":111},"扩展",[109,583,584],{"align":111},"作用",[117,586,587,598,605,612],{},[106,588,589,591],{},[122,590,560],{"align":111},[122,592,593,594,597],{"align":111},"识别 ",[22,595,596],{},"CMakePresets.json","，执行 configure\u002Fbuild，选择 target，管理 CMake 工程构建流程",[106,599,600,602],{},[122,601,563],{"align":111},[122,603,604],{"align":111},"微软官方 C\u002FC++ 扩展，提供基础 IntelliSense、断点调试、GDB\u002FLLDB 调试配置支持",[106,606,607,609],{},[122,608,566],{"align":111},[122,610,611],{"align":111},"C\u002FC++ 扩展的辅助工具，提供更方便的调试信息展示、内存\u002F寄存器\u002F变量查看等增强能力",[106,613,614,616],{},[122,615,569],{"align":111},[122,617,618,619,622],{"align":111},"基于 ",[22,620,621],{},"compile_commands.json"," 提供更准确的代码补全、跳转定义、查找引用、诊断提示、重构能力",[12,624,625],{},"简单说：",[627,628,629,634,642],"ul",{},[46,630,631,633],{},[22,632,560],{}," 负责构建工程；",[46,635,636,638,639,641],{},[22,637,563],{}," 和 ",[22,640,566],{}," 主要负责调试；",[46,643,644,646],{},[22,645,569],{}," 主要负责代码提示、跳转、诊断和重构。",[12,648,649,650,652,653,655],{},"如果你使用 ",[22,651,569],{}," 做代码提示，建议关闭或弱化 ",[22,654,563],{}," 扩展的 IntelliSense，避免两个语言服务器同时工作导致提示重复或冲突。",[12,657,658],{},[446,659],{"alt":531,"src":660},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780705309128.webp",[53,662,664],{"id":663},"clone-cmake-模板","clone CMake 模板",[67,666,668],{"className":205,"code":667,"language":207,"meta":73,"style":73},"git clone https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FCMake_Template.git hello_cpp\ncd hello_cpp\ncode .\n",[22,669,670,683,690],{"__ignoreMap":73},[211,671,672,674,677,680],{"class":213,"line":214},[211,673,319],{"class":217},[211,675,676],{"class":221}," clone",[211,678,679],{"class":221}," https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FCMake_Template.git",[211,681,682],{"class":221}," hello_cpp\n",[211,684,685,688],{"class":213,"line":228},[211,686,687],{"class":399},"cd",[211,689,682],{"class":221},[211,691,692,694],{"class":213,"line":409},[211,693,22],{"class":217},[211,695,696],{"class":221}," .\n",[12,698,699,700,702],{},"这里把项目目录命名为 ",[22,701,61],{},"。后面所有命令都默认在这个目录里执行。",[12,704,705],{},"刚开始学习时先不要管 Git 历史，也不要急着改很多文件。第一步只做一件事：确认这个模板能在你的电脑上运行。",[12,707,543],{},[12,709,710],{},[446,711],{"alt":531,"src":548},[53,713,714],{"id":714},"先原样跑通模板",[199,716,717],{"id":717},"用命令行方式运行",[12,719,720,721,724],{},"先不要急着改代码。按",[22,722,723],{},"ctrl + ~","弹出VScode终端并运行下面三行命令：",[67,726,728],{"className":205,"code":727,"language":207,"meta":73,"style":73},"cmake --preset linux-debug\ncmake --build --preset linux-debug\n.\u002Fbuild\u002Flinux-debug\u002Fsrc\u002Fcmake_template\n",[22,729,730,740,751],{"__ignoreMap":73},[211,731,732,734,737],{"class":213,"line":214},[211,733,329],{"class":217},[211,735,736],{"class":399}," --preset",[211,738,739],{"class":221}," linux-debug\n",[211,741,742,744,747,749],{"class":213,"line":228},[211,743,329],{"class":217},[211,745,746],{"class":399}," --build",[211,748,736],{"class":399},[211,750,739],{"class":221},[211,752,753],{"class":213,"line":409},[211,754,755],{"class":217},".\u002Fbuild\u002Flinux-debug\u002Fsrc\u002Fcmake_template\n",[12,757,758],{},"如果输出类似：",[67,760,762],{"className":761,"code":71,"language":72,"meta":73},[70],[22,763,71],{"__ignoreMap":73},[12,765,766],{},[446,767],{"alt":531,"src":768},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780705705759.webp",[12,770,771],{},"说明工程、编译器、CMake、Ninja、Eigen 都工作正常。到这里，最麻烦的环境部分就已经过关了。",[12,773,774],{},"注意：日常开发时可以直接运行 build 目录里的程序，不需要每次 install。",[12,776,777],{},"只有在验证安装布局时，才需要：",[67,779,781],{"className":205,"code":780,"language":207,"meta":73,"style":73},"cmake --install build\u002Flinux-debug\n.\u002Finstall\u002Flinux-debug\u002Fbin\u002Fcmake_template\n",[22,782,783,793],{"__ignoreMap":73},[211,784,785,787,790],{"class":213,"line":214},[211,786,329],{"class":217},[211,788,789],{"class":399}," --install",[211,791,792],{"class":221}," build\u002Flinux-debug\n",[211,794,795],{"class":213,"line":228},[211,796,797],{"class":217},".\u002Finstall\u002Flinux-debug\u002Fbin\u002Fcmake_template\n",[12,799,800],{},"出现以下,即成功!",[67,802,804],{"className":803,"code":71,"language":72,"meta":73},[70],[22,805,71],{"__ignoreMap":73},[12,807,808],{},[446,809],{"alt":531,"src":810},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780705741785.webp",[199,812,814],{"id":813},"用vscode图形化方式运行","用VScode图形化方式运行",[12,816,817],{},"我们要用VScode图形化方式去运行上面那些命令:",[12,819,820,821,823],{},"点击左侧边的",[22,822,24],{},":",[43,825,826,846,874],{},[46,827,828,829,832,833,836,837,823,840,843],{},"首先要配置",[22,830,831],{},"cmake --preset linux-debug",",等同于在界面中是点击",[22,834,835],{},"Configure","按钮,并选择",[22,838,839],{},"Linux Debug",[841,842],"br",{},[446,844],{"alt":531,"src":845},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780705995297.webp",[46,847,848,849,852,853,856,857,859,862,864,865,868,869,871],{},"然后",[22,850,851],{},"cmake --build --preset linux-debug","这个配置会在你配置",[22,854,855],{},"configure","时被自动配置:",[841,858],{},[446,860],{"alt":531,"src":861},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780706149481.webp",[841,863],{},"然后你要手动点击左下角的",[22,866,867],{},"Build","按钮来进行build:",[841,870],{},[446,872],{"alt":531,"src":873},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780707106120.webp",[46,875,848,876,879,880,882,883,886,888,889,892,894,897,899,900,902,903,638,906,909,910,912,913,915],{},[22,877,878],{},".\u002Fbuild\u002Flinux-debug\u002Fsrc\u002Fcmake_template","运行这个程序等同于:",[841,881],{},"先配置程序路径:\n",[446,884],{"alt":531,"src":885},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780707152235.webp",[841,887],{},"运行程序:\nDebug是对程序进行debug,而Launch是直接运行程序不debug,除非你有debug需求,一般咱们直接用launch.\n",[446,890],{"alt":531,"src":891},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780707202465.webp",[841,893],{},[446,895],{"alt":531,"src":896},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780707302786.webp",[841,898],{},"除了上面的操作入口，VSCode 底部状态栏中，",[22,901,867],{}," 按钮旁边也有 ",[22,904,905],{},"Debug",[22,907,908],{},"Launch"," 快捷按钮。选择好 ",[22,911,182],{}," target 并完成构建后，可以直接点击这里运行或调试程序。",[841,914],{},[446,916],{"alt":531,"src":917},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780715507074.webp",[12,919,920,921,924],{},"接下来是要讲如何把生成产物放进",[22,922,923],{},"install",",一般只有你要发行一个程序之类的才install,平常只用上面的build即可(测试完改回build的配置).",[43,926,927,959],{},[46,928,929,932,933,936,937,940,941,943,946,948,949,952,953,956,957,940],{},[22,930,931],{},"cmake --install build\u002Flinux-debug","等同于:\n在 VSCode 里按 ",[22,934,935],{},"Ctrl+Shift+P","，然后输入",[22,938,939],{},"CMake: Install",".",[841,942],{},[446,944],{"alt":531,"src":945},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780707509033.webp",[841,947],{},"解释: 这个命令会调用当前配置的 ",[22,950,951],{},"build preset"," 对应的 ",[22,954,955],{},"cmake --install \u003CbuildDir>","。\n如果你选择了 linux-debug preset，它等同于",[22,958,931],{},[46,960,848,961,964,965,967,970,972,973,975,976,940],{},[22,962,963],{},".\u002Finstall\u002Flinux-debug\u002Fbin\u002Fcmake_template","运行这个程序等同于:\n先配置程序路径:",[841,966],{},[446,968],{"alt":531,"src":969},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780707743776.webp",[841,971],{},"运行程序的方式和上面一样,也是点",[22,974,905],{},"或者",[22,977,908],{},[53,979,980],{"id":980},"模板当前结构",[12,982,983,984,987],{},"现在看一下模板里和本章有关的文件。先不用理解每个 CMake 选项，只要知道 ",[22,985,986],{},"src\u002F"," 下面放的是代码：",[67,989,992],{"className":990,"code":991,"language":72,"meta":73},[70],".\n├── CMakeLists.txt\n├── CMakePresets.json\n├── .vscode\u002F\n│   └── launch.json\n├── cmake\u002F\n│   └── ProjectOptions.cmake\n└── src\u002F\n    ├── CMakeLists.txt\n    ├── main.cpp\n    ├── lib1\u002F\n    │   ├── CMakeLists.txt\n    │   ├── inc\u002Flib1\u002Feigen3_test.hpp\n    │   └── src\u002Feigen3_test.cpp\n    └── lib2\u002F\n        ├── CMakeLists.txt\n        ├── inc\u002Flib2\u002Feigen3_test.hpp\n        └── src\u002Feigen3_test.cpp\n",[22,993,991],{"__ignoreMap":73},[12,995,996],{},"这里最重要的是：",[100,998,999,1008],{},[103,1000,1001],{},[106,1002,1003,1006],{},[109,1004,1005],{"align":111},"位置",[109,1007,584],{"align":111},[117,1009,1010,1020,1030,1040],{},[106,1011,1012,1017],{},[122,1013,1014],{"align":111},[22,1015,1016],{},"src\u002Fmain.cpp",[122,1018,1019],{"align":111},"程序入口，运行时从这里开始",[106,1021,1022,1027],{},[122,1023,1024],{"align":111},[22,1025,1026],{},"src\u002Flib1\u002F",[122,1028,1029],{"align":111},"第一个示例小库",[106,1031,1032,1037],{},[122,1033,1034],{"align":111},[22,1035,1036],{},"src\u002Flib2\u002F",[122,1038,1039],{"align":111},"第二个示例小库",[106,1041,1042,1046],{},[122,1043,1044],{"align":111},[22,1045,141],{},[122,1047,1048],{"align":111},"告诉 CMake 这个工程怎么构建",[12,1050,1051],{},"本章只需要认识这些位置，不需要修改它们。",[53,1053,1054],{"id":1054},"常见问题",[199,1056,1058],{"id":1057},"找不到-ninja","找不到 Ninja",[12,1060,1061],{},"报错类似：",[67,1063,1066],{"className":1064,"code":1065,"language":72,"meta":73},[70],"CMake was unable to find a build program corresponding to \"Ninja\"\n",[22,1067,1065],{"__ignoreMap":73},[12,1069,1070],{},"安装：",[67,1072,1074],{"className":205,"code":1073,"language":207,"meta":73,"style":73},"sudo apt install ninja-build\n",[22,1075,1076],{"__ignoreMap":73},[211,1077,1078,1080,1082,1084],{"class":213,"line":214},[211,1079,218],{"class":217},[211,1081,222],{"class":221},[211,1083,235],{"class":221},[211,1085,1086],{"class":221}," ninja-build\n",[12,1088,1089],{},"或：",[67,1091,1093],{"className":205,"code":1092,"language":207,"meta":73,"style":73},"sudo dnf install ninja-build\n",[22,1094,1095],{"__ignoreMap":73},[211,1096,1097,1099,1101,1103],{"class":213,"line":214},[211,1098,218],{"class":217},[211,1100,279],{"class":221},[211,1102,235],{"class":221},[211,1104,1086],{"class":221},[199,1106,1108],{"id":1107},"找不到-gdb","找不到 gdb",[12,1110,1111],{},"调试时如果找不到 GDB：",[67,1113,1115],{"className":205,"code":1114,"language":207,"meta":73,"style":73},"sudo apt install gdb\n",[22,1116,1117],{"__ignoreMap":73},[211,1118,1119,1121,1123,1125],{"class":213,"line":214},[211,1120,218],{"class":217},[211,1122,222],{"class":221},[211,1124,235],{"class":221},[211,1126,1127],{"class":221}," gdb\n",[12,1129,1089],{},[67,1131,1133],{"className":205,"code":1132,"language":207,"meta":73,"style":73},"sudo dnf install gdb\n",[22,1134,1135],{"__ignoreMap":73},[211,1136,1137,1139,1141,1143],{"class":213,"line":214},[211,1138,218],{"class":217},[211,1140,279],{"class":221},[211,1142,235],{"class":221},[211,1144,1127],{"class":221},[199,1146,1148],{"id":1147},"改了-cmakeliststxt-后构建异常","改了 CMakeLists.txt 后构建异常",[12,1150,1151,1152,1154],{},"本章没有要求修改 ",[22,1153,141],{},"。如果你后面章节改了 CMake 文件后构建异常，可以重新 configure：",[67,1156,1158],{"className":205,"code":1157,"language":207,"meta":73,"style":73},"cmake --fresh --preset linux-debug\n",[22,1159,1160],{"__ignoreMap":73},[211,1161,1162,1164,1167,1169],{"class":213,"line":214},[211,1163,329],{"class":217},[211,1165,1166],{"class":399}," --fresh",[211,1168,736],{"class":399},[211,1170,739],{"class":221},[12,1172,1173],{},"或者删除构建目录：",[67,1175,1177],{"className":205,"code":1176,"language":207,"meta":73,"style":73},"rm -rf build\u002Flinux-debug\ncmake --preset linux-debug\n",[22,1178,1179,1189],{"__ignoreMap":73},[211,1180,1181,1184,1187],{"class":213,"line":214},[211,1182,1183],{"class":217},"rm",[211,1185,1186],{"class":399}," -rf",[211,1188,792],{"class":221},[211,1190,1191,1193,1195],{"class":213,"line":228},[211,1192,329],{"class":217},[211,1194,736],{"class":399},[211,1196,739],{"class":221},[53,1198,1199],{"id":1199},"下一步学什么",[12,1201,1202],{},"本章只是让你先拥有一个能运行、能调试的小工程。",[12,1204,1205],{},"后面的章节会从 C++ 基础语法开始讲：",[43,1207,1208,1211,1214,1217,1220],{},[46,1209,1210],{},"C++ 基础初识",[46,1212,1213],{},"数据类型与数据存放",[46,1215,1216],{},"输入输出",[46,1218,1219],{},"运算符",[46,1221,1222],{},"程序流程结构",[12,1224,1225,1226,1228,1229,169,1231,1233,1234,1236],{},"下一章开始，我们先只改 ",[22,1227,1016],{},"。等你学到函数分文件编写时，再去整理 ",[22,1230,168],{},[22,1232,172],{},"；等你学到工程组织、第三方库和构建系统时，再回来看 ",[37,1235,40],{"href":39},"。",[1238,1239,1240],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":73,"searchDepth":228,"depth":228,"links":1242},[1243,1244,1248,1249,1250,1251,1252,1253,1257,1258,1263],{"id":55,"depth":228,"text":55},{"id":197,"depth":228,"text":197,"children":1245},[1246,1247],{"id":201,"depth":409,"text":202},{"id":266,"depth":409,"text":267},{"id":387,"depth":228,"text":387},{"id":434,"depth":228,"text":435},{"id":505,"depth":228,"text":506},{"id":551,"depth":228,"text":552},{"id":663,"depth":228,"text":664},{"id":714,"depth":228,"text":714,"children":1254},[1255,1256],{"id":717,"depth":409,"text":717},{"id":813,"depth":409,"text":814},{"id":980,"depth":228,"text":980},{"id":1054,"depth":228,"text":1054,"children":1259},[1260,1261,1262],{"id":1057,"depth":409,"text":1058},{"id":1107,"depth":409,"text":1108},{"id":1147,"depth":409,"text":1148},{"id":1199,"depth":228,"text":1199},0,"0100","2023-10-05","2023-10-05-cplusplus-jiao-xue","\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue","Cplusplus教学","md",true,false,{},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0100-c-kai-fa-huan-jing-da-jian-yu-ce-shi",{"title":5,"description":14},"wiki\u002F2023-10-05-Cplusplus教学\u002F0100-C++开发环境搭建与测试","Vi2bsBT0R-lYRLAHWfSy8g2f5biE4_Ttu_b-EvV1608",[1279,1281,1287,1292,1297,1302,1307,1313,1319,1325,1331,1337,1343,1349,1355,1361,1367,1373,1379,1385,1391,1397,1403,1409,1415,1421,1427,1433,1439,1445,1451,1457,1463,1469,1475,1481,1487,1493,1499,1505,1511,1517,1523,1529,1535,1541,1547,1553,1559,1565,1571,1577,1583,1589,1595,1601,1607,1613,1619,1625,1631,1637,1643,1649,1655,1661,1667,1673,1679,1685,1691,1697,1703,1709,1715,1721,1727,1733,1739,1745,1751,1757,1763,1769,1775,1781,1787,1793,1799,1805,1811,1815],{"path":1274,"stem":1276,"title":5,"authors":1280,"date":1266,"chapterOrder":1265,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},[7],{"path":1282,"stem":1283,"title":1284,"authors":1285,"date":1266,"chapterOrder":1286,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F0200-C++基础初识","C++基础初识",[7],"0200",{"path":1288,"stem":1289,"title":1213,"authors":1290,"date":1266,"chapterOrder":1291,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0300-shu-ju-lei-xing-yu-shu-ju-cun-fang","wiki\u002F2023-10-05-Cplusplus教学\u002F0300-数据类型与数据存放",[7],"0300",{"path":1293,"stem":1294,"title":1216,"authors":1295,"date":1266,"chapterOrder":1296,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0400-shu-ru-shu-chu","wiki\u002F2023-10-05-Cplusplus教学\u002F0400-输入输出",[7],"0400",{"path":1298,"stem":1299,"title":1219,"authors":1300,"date":1266,"chapterOrder":1301,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0500-yun-suan-fu","wiki\u002F2023-10-05-Cplusplus教学\u002F0500-运算符",[7],"0500",{"path":1303,"stem":1304,"title":1222,"authors":1305,"date":1266,"chapterOrder":1306,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0600-cheng-xu-liu-cheng-jie-gou","wiki\u002F2023-10-05-Cplusplus教学\u002F0600-程序流程结构",[7],"0600",{"path":1308,"stem":1309,"title":1310,"authors":1311,"date":1266,"chapterOrder":1312,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0700-shu-zu","wiki\u002F2023-10-05-Cplusplus教学\u002F0700-数组","数组",[7],"0700",{"path":1314,"stem":1315,"title":1316,"authors":1317,"date":1266,"chapterOrder":1318,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0800-han-shu-yu-tou-wen-jian","wiki\u002F2023-10-05-Cplusplus教学\u002F0800-函数与头文件","函数与头文件",[7],"0800",{"path":1320,"stem":1321,"title":1322,"authors":1323,"date":1266,"chapterOrder":1324,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0900-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F0900-指针","指针",[7],"0900",{"path":1326,"stem":1327,"title":1328,"authors":1329,"date":1266,"chapterOrder":1330,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1000-jie-gou-ti-yu-gong-yong-ti","wiki\u002F2023-10-05-Cplusplus教学\u002F1000-结构体与共用体","结构体与共用体",[7],"1000",{"path":1332,"stem":1333,"title":1334,"authors":1335,"date":1266,"chapterOrder":1336,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1100-nei-cun-fen-qu-yu-sheng-ming-zhou-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1100-内存分区与生命周期","内存分区与生命周期",[7],"1100",{"path":1338,"stem":1339,"title":1340,"authors":1341,"date":1266,"chapterOrder":1342,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","wiki\u002F2023-10-05-Cplusplus教学\u002F1200-引用","引用",[7],"1200",{"path":1344,"stem":1345,"title":1346,"authors":1347,"date":1266,"chapterOrder":1348,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1300-han-shu-ti-gao","wiki\u002F2023-10-05-Cplusplus教学\u002F1300-函数提高","函数提高",[7],"1300",{"path":1350,"stem":1351,"title":1352,"authors":1353,"date":1266,"chapterOrder":1354,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1350-ming-ming-kong-jian","wiki\u002F2023-10-05-Cplusplus教学\u002F1350-命名空间","命名空间",[7],"1350",{"path":1356,"stem":1357,"title":1358,"authors":1359,"date":1266,"chapterOrder":1360,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0100-feng-zhuang","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0100-封装","封装",[7],"1400-0100",{"path":1362,"stem":1363,"title":1364,"authors":1365,"date":1266,"chapterOrder":1366,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0200-dui-xiang-chu-shi-hua-he-qing-li","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0200-对象初始化和清理","对象初始化和清理",[7],"1400-0200",{"path":1368,"stem":1369,"title":1370,"authors":1371,"date":1266,"chapterOrder":1372,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0300-对象模型与this指针","对象模型与this指针",[7],"1400-0300",{"path":1374,"stem":1375,"title":1376,"authors":1377,"date":1266,"chapterOrder":1378,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0400-you-yuan-yu-yun-suan-fu-zhong-zai","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0400-友元与运算符重载","友元与运算符重载",[7],"1400-0400",{"path":1380,"stem":1381,"title":1382,"authors":1383,"date":1266,"chapterOrder":1384,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0500-ji-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0500-继承","继承",[7],"1400-0500",{"path":1386,"stem":1387,"title":1388,"authors":1389,"date":1266,"chapterOrder":1390,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0600-duo-tai","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0600-多态","多态",[7],"1400-0600",{"path":1392,"stem":1393,"title":1394,"authors":1395,"date":1266,"chapterOrder":1396,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-lei-he-dui-xiang","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-类和对象","类和对象",[7],"1400",{"path":1398,"stem":1399,"title":1400,"authors":1401,"date":1266,"chapterOrder":1402,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1450-han-shu-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F1450-函数指针","函数指针",[7],"1450",{"path":1404,"stem":1405,"title":1406,"authors":1407,"date":1266,"chapterOrder":1408,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1500-wen-jian-cao-zuo","wiki\u002F2023-10-05-Cplusplus教学\u002F1500-文件操作","文件操作",[7],"1500",{"path":1410,"stem":1411,"title":1412,"authors":1413,"date":1266,"chapterOrder":1414,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1600-yi-chang-chu-li-yu-cuo-wu-ma","wiki\u002F2023-10-05-Cplusplus教学\u002F1600-异常处理与错误码","异常处理",[7],"1600",{"path":1416,"stem":1417,"title":1418,"authors":1419,"date":1266,"chapterOrder":1420,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1700-mu-ban","wiki\u002F2023-10-05-Cplusplus教学\u002F1700-模板","模板",[7],"1700",{"path":1422,"stem":1423,"title":1424,"authors":1425,"date":1266,"chapterOrder":1426,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0100-stl-chu-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0100-STL初识","STL初识",[7],"1800-0100",{"path":1428,"stem":1429,"title":1430,"authors":1431,"date":1266,"chapterOrder":1432,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0200-std-array","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0200-std-array","std::array",[7],"1800-0200",{"path":1434,"stem":1435,"title":1436,"authors":1437,"date":1266,"chapterOrder":1438,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0300-string-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0300-string容器","string容器",[7],"1800-0300",{"path":1440,"stem":1441,"title":1442,"authors":1443,"date":1266,"chapterOrder":1444,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0400-vector-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0400-vector容器","vector 容器",[7],"1800-0400",{"path":1446,"stem":1447,"title":1448,"authors":1449,"date":1266,"chapterOrder":1450,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0500-deque-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0500-deque容器","deque 容器",[7],"1800-0500",{"path":1452,"stem":1453,"title":1454,"authors":1455,"date":1266,"chapterOrder":1456,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0600-stack-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0600-stack容器","stack 容器",[7],"1800-0600",{"path":1458,"stem":1459,"title":1460,"authors":1461,"date":1266,"chapterOrder":1462,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0700-queue-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0700-queue容器","queue 容器",[7],"1800-0700",{"path":1464,"stem":1465,"title":1466,"authors":1467,"date":1266,"chapterOrder":1468,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0800-list-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0800-list容器","list 容器",[7],"1800-0800",{"path":1470,"stem":1471,"title":1472,"authors":1473,"date":1266,"chapterOrder":1474,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0900-set-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0900-set容器","set \u002F multiset 容器",[7],"1800-0900",{"path":1476,"stem":1477,"title":1478,"authors":1479,"date":1266,"chapterOrder":1480,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1000-map-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-1000-map容器","map \u002F multimap 容器",[7],"1800-1000",{"path":1482,"stem":1483,"title":1484,"authors":1485,"date":1266,"chapterOrder":1486,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-1100-函数对象与谓词","函数对象与谓词",[7],"1800-1100",{"path":1488,"stem":1489,"title":1490,"authors":1491,"date":1266,"chapterOrder":1492,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1200-chang-yong-suan-fa","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-1200-常用算法","常用算法",[7],"1800-1200",{"path":1494,"stem":1495,"title":1496,"authors":1497,"date":1266,"chapterOrder":1498,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-stl-ti-gao-bian-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-STL提高编程","STL提高编程",[7],"1800",{"path":1500,"stem":1501,"title":1502,"authors":1503,"date":1266,"chapterOrder":1504,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1900-c-lei-xing-zhuan-huan","wiki\u002F2023-10-05-Cplusplus教学\u002F1900-C++类型转换","C++类型转换",[7],"1900",{"path":1506,"stem":1507,"title":1508,"authors":1509,"date":1266,"chapterOrder":1510,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0100-auto","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0100-auto","auto",[7],"2000-0100",{"path":1512,"stem":1513,"title":1514,"authors":1515,"date":1266,"chapterOrder":1516,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0200-nullptr","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0200-nullptr","nullptr",[7],"2000-0200",{"path":1518,"stem":1519,"title":1520,"authors":1521,"date":1266,"chapterOrder":1522,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0300-using","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0300-using","using",[7],"2000-0300",{"path":1524,"stem":1525,"title":1526,"authors":1527,"date":1266,"chapterOrder":1528,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0400-enum-class","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0400-enum-class","enum class",[7],"2000-0400",{"path":1530,"stem":1531,"title":1532,"authors":1533,"date":1266,"chapterOrder":1534,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0500-fan-wei-for-xun-huan","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0500-范围for循环","范围 for 循环",[7],"2000-0500",{"path":1536,"stem":1537,"title":1538,"authors":1539,"date":1266,"chapterOrder":1540,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0600-jie-gou-hua-bang-ding","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0600-结构化绑定","结构化绑定",[7],"2000-0600",{"path":1542,"stem":1543,"title":1544,"authors":1545,"date":1266,"chapterOrder":1546,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0700-constexpr","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0700-constexpr","constexpr",[7],"2000-0700",{"path":1548,"stem":1549,"title":1550,"authors":1551,"date":1266,"chapterOrder":1552,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0800-raii","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0800-RAII","RAII",[7],"2000-0800",{"path":1554,"stem":1555,"title":1556,"authors":1557,"date":1266,"chapterOrder":1558,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0900-zhi-neng-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0900-智能指针","智能指针",[7],"2000-0900",{"path":1560,"stem":1561,"title":1562,"authors":1563,"date":1266,"chapterOrder":1564,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1000-you-zhi-yin-yong-he-yi-dong-yu-yi","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1000-右值引用和移动语义","右值引用和移动语义",[7],"2000-1000",{"path":1566,"stem":1567,"title":1568,"authors":1569,"date":1266,"chapterOrder":1570,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1100-lambda-biao-da-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1100-Lambda表达式","Lambda 表达式",[7],"2000-1100",{"path":1572,"stem":1573,"title":1574,"authors":1575,"date":1266,"chapterOrder":1576,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1200-std-function","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1200-std-function","std::function",[7],"2000-1200",{"path":1578,"stem":1579,"title":1580,"authors":1581,"date":1266,"chapterOrder":1582,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1300-std-bind","std::bind",[7],"2000-1300",{"path":1584,"stem":1585,"title":1586,"authors":1587,"date":1266,"chapterOrder":1588,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1400-std-optional","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1400-std-optional","std::optional",[7],"2000-1400",{"path":1590,"stem":1591,"title":1592,"authors":1593,"date":1266,"chapterOrder":1594,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1500-std-variant","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1500-std-variant","std::variant",[7],"2000-1500",{"path":1596,"stem":1597,"title":1598,"authors":1599,"date":1266,"chapterOrder":1600,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1600-std-span","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1600-std-span","std::span",[7],"2000-1600",{"path":1602,"stem":1603,"title":1604,"authors":1605,"date":1266,"chapterOrder":1606,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1700-std-format-print","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1700-std-format-print","std::format \u002F std::print",[7],"2000-1700",{"path":1608,"stem":1609,"title":1610,"authors":1611,"date":1266,"chapterOrder":1612,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1800-std-chrono","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1800-std-chrono","std::chrono",[7],"2000-1800",{"path":1614,"stem":1615,"title":1616,"authors":1617,"date":1266,"chapterOrder":1618,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0100-bing-fa-shi-shen-me","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0100-并发是什么","并发是什么",[7],"2000-1900-0100",{"path":1620,"stem":1621,"title":1622,"authors":1623,"date":1266,"chapterOrder":1624,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0200-bing-xing-shi-shen-me","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0200-并行是什么","并行是什么",[7],"2000-1900-0200",{"path":1626,"stem":1627,"title":1628,"authors":1629,"date":1266,"chapterOrder":1630,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0300-xie-cheng-shi-shen-me","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0300-协程是什么","协程是什么",[7],"2000-1900-0300",{"path":1632,"stem":1633,"title":1634,"authors":1635,"date":1266,"chapterOrder":1636,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1000-bing-fa-bian-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1000-并发编程","并发编程",[7],"2000-1900-1000",{"path":1638,"stem":1639,"title":1640,"authors":1641,"date":1266,"chapterOrder":1642,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1100-std-thread","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1100-std-thread","std::thread",[7],"2000-1900-1100",{"path":1644,"stem":1645,"title":1646,"authors":1647,"date":1266,"chapterOrder":1648,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1200-mutex-lock-guard","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1200-mutex-lock-guard","mutex 与 RAII 锁",[7],"2000-1900-1200",{"path":1650,"stem":1651,"title":1652,"authors":1653,"date":1266,"chapterOrder":1654,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1300-std-atomic","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1300-std-atomic","std::atomic",[7],"2000-1900-1300",{"path":1656,"stem":1657,"title":1658,"authors":1659,"date":1266,"chapterOrder":1660,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1400-condition-variable","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1400-condition-variable","condition_variable",[7],"2000-1900-1400",{"path":1662,"stem":1663,"title":1664,"authors":1665,"date":1266,"chapterOrder":1666,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1500-future-async-promise","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1500-future-async-promise","future、async、promise 与 packaged_task",[7],"2000-1900-1500",{"path":1668,"stem":1669,"title":1670,"authors":1671,"date":1266,"chapterOrder":1672,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1600-jthread-stop-token","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1600-jthread-stop-token","jthread 与 stop_token",[7],"2000-1900-1600",{"path":1674,"stem":1675,"title":1676,"authors":1677,"date":1266,"chapterOrder":1678,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1700-semaphore-latch-barrier","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1700-semaphore-latch-barrier","semaphore、latch 与 barrier",[7],"2000-1900-1700",{"path":1680,"stem":1681,"title":1682,"authors":1683,"date":1266,"chapterOrder":1684,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bing-xing-yu-xie-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-并发并行与协程","并发、并行与协程",[7],"2000-1900",{"path":1686,"stem":1687,"title":1688,"authors":1689,"date":1266,"chapterOrder":1690,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2000-std-filesystem","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-2000-std-filesystem","std::filesystem",[7],"2000-2000",{"path":1692,"stem":1693,"title":1694,"authors":1695,"date":1266,"chapterOrder":1696,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2100-modules-jian-jie","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-2100-modules简介","modules 简介",[7],"2000-2100",{"path":1698,"stem":1699,"title":1700,"authors":1701,"date":1266,"chapterOrder":1702,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-现代C++","现代C++",[7],"2000",{"path":1704,"stem":1705,"title":1706,"authors":1707,"date":1266,"chapterOrder":1708,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0100-ding-shi-qi-yu-yi-bu-io","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0100-定时器与异步IO","定时器与异步 IO",[7],"2100-0100-0100",{"path":1710,"stem":1711,"title":1712,"authors":1713,"date":1266,"chapterOrder":1714,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0200-boost-asio-ji-chu","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0200-Boost.Asio基础","Boost.Asio 基础",[7],"2100-0100-0200",{"path":1716,"stem":1717,"title":1718,"authors":1719,"date":1266,"chapterOrder":1720,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0300-chuan-kou-tong-xin","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0300-串口通信","串口通信教学",[7],"2100-0100-0300",{"path":1722,"stem":1723,"title":1724,"authors":1725,"date":1266,"chapterOrder":1726,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0350-chuan-kou-tong-xin-chuan-kou-bao-xie-yi-shi-li","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0350-串口通信串口包协议实例","串口通信串口包协议实例",[7],"2100-0100-0350",{"path":1728,"stem":1729,"title":1730,"authors":1731,"date":1266,"chapterOrder":1732,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0400-tcp-tong-xin","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0400-TCP通信","TCP 通信",[7],"2100-0100-0400",{"path":1734,"stem":1735,"title":1736,"authors":1737,"date":1266,"chapterOrder":1738,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0500-udp-tong-xin","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0500-UDP通信","UDP 通信",[7],"2100-0100-0500",{"path":1740,"stem":1741,"title":1742,"authors":1743,"date":1266,"chapterOrder":1744,"chapterDepth":228,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0600-ji-qi-ren-gong-cheng-xie-fa-yu-ros2-ji-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0600-机器人工程写法与ROS2集成","机器人工程写法与 ROS2 集成",[7],"2100-0100-0600",{"path":1746,"stem":1747,"title":1748,"authors":1749,"date":1266,"chapterOrder":1750,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-boost-asio-yi-bu-io-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-Boost.Asio异步IO库","Boost.Asio异步IO库",[7],"2100-0100",{"path":1752,"stem":1753,"title":1754,"authors":1755,"date":1266,"chapterOrder":1756,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0200-eigen-xian-xing-dai-shu-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0200-Eigen线性代数库","Eigen线性代数库",[7],"2100-0200",{"path":1758,"stem":1759,"title":1760,"authors":1761,"date":1266,"chapterOrder":1762,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0300-opencv-ji-suan-ji-shi-jue-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0300-OpenCV计算机视觉库","OpenCV计算机视觉库",[7],"2100-0300",{"path":1764,"stem":1765,"title":1766,"authors":1767,"date":1266,"chapterOrder":1768,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0400-pcl-dian-yun-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0400-PCL点云库","PCL点云库",[7],"2100-0400",{"path":1770,"stem":1771,"title":1772,"authors":1773,"date":1266,"chapterOrder":1774,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0500-sophus-li-qun-li-dai-shu-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0500-Sophus李群李代数库","Sophus 李群李代数库",[7],"2100-0500",{"path":1776,"stem":1777,"title":1778,"authors":1779,"date":1266,"chapterOrder":1780,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-chang-yong-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-常用库","常用库学习",[7],"2100",{"path":1782,"stem":1783,"title":1784,"authors":1785,"date":1266,"chapterOrder":1786,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0100-cmakepresets-yu-gou-jian-an-zhuang","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0100-CMakePresets与构建安装","CMakePresets与构建安装",[7],"2200-0100",{"path":1788,"stem":1789,"title":1790,"authors":1791,"date":1266,"chapterOrder":1792,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0200-ding-ceng-cmake-yu-gong-gong-bian-yi-xuan-xiang","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0200-顶层CMake与公共编译选项","顶层CMake与公共编译选项",[7],"2200-0200",{"path":1794,"stem":1795,"title":1796,"authors":1797,"date":1266,"chapterOrder":1798,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0300-src-yu-lib-mo-kuai-cmake-xiang-jie","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0300-src与lib模块CMake详解","src与lib模块CMake详解",[7],"2200-0300",{"path":1800,"stem":1801,"title":1802,"authors":1803,"date":1266,"chapterOrder":1804,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0400-di-san-fang-ku-yi-lai-xie-fa","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0400-第三方库依赖写法","第三方库依赖写法",[7],"2200-0400",{"path":1806,"stem":1807,"title":1808,"authors":1809,"date":1266,"chapterOrder":1810,"chapterDepth":214,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0500-mu-ban-kuo-zhan-yu-chang-jian-wen-ti","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0500-模板扩展与常见问题","模板扩展与常见问题",[7],"2200-0500",{"path":39,"stem":1812,"title":40,"authors":1813,"date":1266,"chapterOrder":1814,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1272},"wiki\u002F2023-10-05-Cplusplus教学\u002F2200-CMake工程模板",[7],"2200",{"path":1268,"stem":1816,"title":1817,"authors":1818,"date":1266,"chapterOrder":1819,"chapterDepth":1264,"docKey":1267,"docRoot":1268,"docTitle":1269,"isWikiDoc":1271,"isWikiIndex":1271},"wiki\u002F2023-10-05-Cplusplus教学\u002Findex","C\u002FC++教程",[7],null,[1821,1823,1826,1829],{"name":7,"image":1822},"\u002Fimages\u002Fmember_photo\u002F董佳辉.jpg",{"name":1824,"image":1825},"宫金良","\u002Fimages\u002Fmember_photo\u002F宫金良.jpg",{"name":1827,"image":1828},"巩丽","\u002Fimages\u002Fmember_photo\u002F巩丽.png",{"name":1830,"image":1831},"张彦斐","\u002Fimages\u002Fmember_photo\u002F张彦斐.jpg",1792431895966]