[{"data":1,"prerenderedAt":788},["ShallowReactive",2],{"wiki-page-\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng":3,"wiki-doc-items-\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng":367,"language-switcher-data-\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng":772,"wiki-i18n-paths-\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng":787},{"id":4,"title":5,"body":6,"canonicalPath":348,"chapterDepth":349,"chapterOrder":350,"date":351,"description":108,"docI18nKey":352,"docKey":353,"docRoot":354,"docTitle":355,"extension":356,"i18nKey":357,"isBlogPost":358,"isWikiDoc":359,"isWikiIndex":358,"layout":360,"legacyPath":361,"locale":362,"localeSlug":363,"meta":364,"navigation":359,"path":348,"seo":365,"sourcePath":361,"sourceStem":357,"stem":357,"wikiDepth":349,"__hash__":366},"content\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-并发编程.md","并发编程",{"type":7,"value":8,"toc":338},"minimark",[9,13,17,30,33,36,39,74,77,81,98,101,111,114,238,241,280,283,286,328,331],[10,11,12],"h2",{"id":12},"本节解决什么问题",[14,15,16],"p",{},"现代计算机通常有多个 CPU 核心。一个程序如果只在一个线程里顺序执行，就无法让多个耗时任务同时推进。典型场景包括：",[18,19,20,24,27],"ul",{},[21,22,23],"li",{},"一个线程保持界面响应，另一个线程处理后台任务。",[21,25,26],{},"同时等待多个网络请求、定时器或外设事件。",[21,28,29],{},"把可拆分的计算任务分给多个线程。",[14,31,32],{},"并发编程的难点不在于\"开线程\"本身，而在于生命周期和共享数据。只要两个线程同时读写同一份数据，就必须认真处理同步问题。",[10,34,35],{"id":35},"学习路线",[14,37,38],{},"本节拆成几个文件级子章节来学：",[18,40,41,52,62,68],{},[21,42,43,47,48,51],{},[44,45,46],"code",{},"std::thread","：创建线程，并用 ",[44,49,50],{},"join()"," 等待结束。",[21,53,54,57,58,61],{},[44,55,56],{},"std::mutex"," 和 ",[44,59,60],{},"std::lock_guard","：保护共享数据。",[21,63,64,67],{},[44,65,66],{},"std::atomic","：简单计数器的无锁线程安全操作。",[21,69,70,73],{},[44,71,72],{},"std::condition_variable","：一个线程等待另一个线程发通知。",[14,75,76],{},"如果只启动一个任务，同步和并发的结果可能看起来一样。差异通常要在\"两个或更多任务同时等待或同时计算\"时才明显。这和 Boost.Asio 中一个定时器看不出异步优势、两个定时器才看出区别是同一个道理。",[10,78,80],{"id":79},"c-标准版本","C++ 标准版本",[14,82,83,84,87,88,87,91,87,94,97],{},"C++11 引入了标准线程库。C++14、C++17、C++20 又增加了 ",[44,85,86],{},"std::shared_mutex","、",[44,89,90],{},"std::jthread",[44,92,93],{},"std::latch",[44,95,96],{},"std::barrier"," 等工具。",[14,99,100],{},"本节主要使用 C++11 就有的基础工具。编译时通常需要加线程选项，例如：",[102,103,109],"pre",{"className":104,"code":106,"language":107,"meta":108},[105],"language-text","g++ demo.cpp -std=c++17 -pthread\n","text","",[44,110,106],{"__ignoreMap":108},[10,112,113],{"id":113},"常用工具",[115,116,117,134],"table",{},[118,119,120],"thead",{},[121,122,123,128,131],"tr",{},[124,125,127],"th",{"align":126},"left","工具",[124,129,130],{"align":126},"作用",[124,132,133],{"align":126},"常见头文件",[135,136,137,152,169,183,196,210,224],"tbody",{},[121,138,139,144,147],{},[140,141,142],"td",{"align":126},[44,143,46],{},[140,145,146],{"align":126},"创建和管理线程",[140,148,149],{"align":126},[44,150,151],{},"\u003Cthread>",[121,153,154,159,162],{},[140,155,156],{"align":126},[44,157,158],{},"std::this_thread::sleep_for",[140,160,161],{"align":126},"当前线程休眠一段时间",[140,163,164,87,166],{"align":126},[44,165,151],{},[44,167,168],{},"\u003Cchrono>",[121,170,171,175,178],{},[140,172,173],{"align":126},[44,174,56],{},[140,176,177],{"align":126},"互斥锁，保护共享数据",[140,179,180],{"align":126},[44,181,182],{},"\u003Cmutex>",[121,184,185,189,192],{},[140,186,187],{"align":126},[44,188,60],{},[140,190,191],{"align":126},"RAII 加锁，作用域结束自动解锁",[140,193,194],{"align":126},[44,195,182],{},[121,197,198,203,206],{},[140,199,200],{"align":126},[44,201,202],{},"std::unique_lock",[140,204,205],{"align":126},"更灵活的 RAII 锁，常配合条件变量",[140,207,208],{"align":126},[44,209,182],{},[121,211,212,216,219],{},[140,213,214],{"align":126},[44,215,66],{},[140,217,218],{"align":126},"原子变量，适合简单计数",[140,220,221],{"align":126},[44,222,223],{},"\u003Catomic>",[121,225,226,230,233],{},[140,227,228],{"align":126},[44,229,72],{},[140,231,232],{"align":126},"等待和通知",[140,234,235],{"align":126},[44,236,237],{},"\u003Ccondition_variable>",[10,239,240],{"id":240},"并发和并行",[115,242,243,256],{},[118,244,245],{},[121,246,247,250,253],{},[124,248,249],{"align":126},"概念",[124,251,252],{"align":126},"含义",[124,254,255],{"align":126},"例子",[135,257,258,269],{},[121,259,260,263,266],{},[140,261,262],{"align":126},"并发",[140,264,265],{"align":126},"多个任务在同一段时间内推进",[140,267,268],{"align":126},"一个程序同时等待网络、定时器和用户输入",[121,270,271,274,277],{},[140,272,273],{"align":126},"并行",[140,275,276],{"align":126},"多个任务真的同时运行",[140,278,279],{"align":126},"多核 CPU 上多个线程同时计算",[14,281,282],{},"初学时先抓住工程直觉：多个任务都要等待外设、网络、定时器或耗时计算时，让它们同时推进，程序整体会更快或响应更好。",[10,284,285],{"id":285},"使用建议",[287,288,289,292,295,306,309,319],"ol",{},[21,290,291],{},"先保证正确，再考虑性能。",[21,293,294],{},"能不共享数据就不共享数据，每个线程处理自己的数据最简单。",[21,296,297,298,301,302,305],{},"共享数据优先用 ",[44,299,300],{},"mutex"," 保护，简单计数才考虑 ",[44,303,304],{},"atomic","。",[21,307,308],{},"锁的作用域尽量小，避免长时间持锁。",[21,310,311,312,315,316,318],{},"初学阶段少用 ",[44,313,314],{},"detach()","，优先用 ",[44,317,50],{}," 明确等待线程结束。",[21,320,321,322,324,325,327],{},"C++20 项目可以了解 ",[44,323,90],{},"，它析构时会自动请求停止并 join，比 ",[44,326,46],{}," 更安全。",[10,329,330],{"id":330},"工程拓展",[14,332,333,334,337],{},"在 ROS2 中，多线程回调执行器、回调组和共享状态保护都会涉及线程与锁。在 Boost.Asio 中，多个异步任务可能运行在同一个 ",[44,335,336],{},"io_context"," 或线程池里，也要考虑回调之间的共享数据。学好 C++ 标准库并发工具，再看这些工程库会轻松很多。",{"title":108,"searchDepth":339,"depth":339,"links":340},2,[341,342,343,344,345,346,347],{"id":12,"depth":339,"text":12},{"id":35,"depth":339,"text":35},{"id":79,"depth":339,"text":80},{"id":113,"depth":339,"text":113},{"id":240,"depth":339,"text":240},{"id":285,"depth":339,"text":285},{"id":330,"depth":339,"text":330},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng",1,"2000-1900","2023-10-05","wiki\u002F2023-10-05-cplusplus-jiao-xue","zh-cn:2023-10-05-cplusplus-jiao-xue","\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue","Cplusplus教学","md","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-并发编程",false,true,null,"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","zh-CN","zh-cn",{},{"title":5,"description":108},"46UFLvxKZgDR8rGZ7MR5wPDhz6RCaBlhxbWWhir9gO4",[368,374,379,384,389,394,399,404,409,414,419,424,429,434,439,444,449,454,459,464,469,474,479,484,489,494,499,504,509,514,519,524,529,534,539,544,549,554,559,564,569,574,579,584,589,594,599,604,609,614,619,624,629,634,639,644,649,654,658,663,664,669,674,679,684,689,694,699,704,709,714,719,724,729,734,739,744,749,754,759,764,769],{"path":369,"stem":370,"title":371,"date":351,"chapterOrder":372,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0100-c-kai-fa-huan-jing-da-jian-yu-ce-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F0100-C++开发环境搭建与测试","C++开发环境搭建与测试","0100",0,{"path":375,"stem":376,"title":377,"date":351,"chapterOrder":378,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F0200-C++基础初识","C++基础初识","0200",{"path":380,"stem":381,"title":382,"date":351,"chapterOrder":383,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0300-shu-ju-lei-xing-yu-shu-ju-cun-fang","wiki\u002F2023-10-05-Cplusplus教学\u002F0300-数据类型与数据存放","数据类型与数据存放","0300",{"path":385,"stem":386,"title":387,"date":351,"chapterOrder":388,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0400-shu-ru-shu-chu","wiki\u002F2023-10-05-Cplusplus教学\u002F0400-输入输出","输入输出","0400",{"path":390,"stem":391,"title":392,"date":351,"chapterOrder":393,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0500-yun-suan-fu","wiki\u002F2023-10-05-Cplusplus教学\u002F0500-运算符","运算符","0500",{"path":395,"stem":396,"title":397,"date":351,"chapterOrder":398,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0600-cheng-xu-liu-cheng-jie-gou","wiki\u002F2023-10-05-Cplusplus教学\u002F0600-程序流程结构","程序流程结构","0600",{"path":400,"stem":401,"title":402,"date":351,"chapterOrder":403,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0700-shu-zu","wiki\u002F2023-10-05-Cplusplus教学\u002F0700-数组","数组","0700",{"path":405,"stem":406,"title":407,"date":351,"chapterOrder":408,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0800-han-shu-yu-tou-wen-jian","wiki\u002F2023-10-05-Cplusplus教学\u002F0800-函数与头文件","函数与头文件","0800",{"path":410,"stem":411,"title":412,"date":351,"chapterOrder":413,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0900-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F0900-指针","指针","0900",{"path":415,"stem":416,"title":417,"date":351,"chapterOrder":418,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1000-jie-gou-ti-yu-gong-yong-ti","wiki\u002F2023-10-05-Cplusplus教学\u002F1000-结构体与共用体","结构体与共用体","1000",{"path":420,"stem":421,"title":422,"date":351,"chapterOrder":423,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1100-nei-cun-fen-qu-yu-sheng-ming-zhou-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1100-内存分区与生命周期","内存分区与生命周期","1100",{"path":425,"stem":426,"title":427,"date":351,"chapterOrder":428,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","wiki\u002F2023-10-05-Cplusplus教学\u002F1200-引用","引用","1200",{"path":430,"stem":431,"title":432,"date":351,"chapterOrder":433,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1300-han-shu-ti-gao-yu-ming-ming-kong-jian","wiki\u002F2023-10-05-Cplusplus教学\u002F1300-函数提高与命名空间","函数提高与命名空间","1300",{"path":435,"stem":436,"title":437,"date":351,"chapterOrder":438,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0100-feng-zhuang","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0100-封装","封装","1400-0100",{"path":440,"stem":441,"title":442,"date":351,"chapterOrder":443,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0200-dui-xiang-chu-shi-hua-he-qing-li","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0200-对象初始化和清理","对象初始化和清理","1400-0200",{"path":445,"stem":446,"title":447,"date":351,"chapterOrder":448,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0300-对象模型与this指针","对象模型与this指针","1400-0300",{"path":450,"stem":451,"title":452,"date":351,"chapterOrder":453,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0400-you-yuan-yu-yun-suan-fu-zhong-zai","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0400-友元与运算符重载","友元与运算符重载","1400-0400",{"path":455,"stem":456,"title":457,"date":351,"chapterOrder":458,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0500-ji-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0500-继承","继承","1400-0500",{"path":460,"stem":461,"title":462,"date":351,"chapterOrder":463,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0600-duo-tai","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0600-多态","多态","1400-0600",{"path":465,"stem":466,"title":467,"date":351,"chapterOrder":468,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-lei-he-dui-xiang","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-类和对象","类和对象","1400",{"path":470,"stem":471,"title":472,"date":351,"chapterOrder":473,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1500-wen-jian-cao-zuo","wiki\u002F2023-10-05-Cplusplus教学\u002F1500-文件操作","文件操作","1500",{"path":475,"stem":476,"title":477,"date":351,"chapterOrder":478,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1600-yi-chang-chu-li-yu-cuo-wu-ma","wiki\u002F2023-10-05-Cplusplus教学\u002F1600-异常处理与错误码","异常处理","1600",{"path":480,"stem":481,"title":482,"date":351,"chapterOrder":483,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1700-mu-ban","wiki\u002F2023-10-05-Cplusplus教学\u002F1700-模板","模板","1700",{"path":485,"stem":486,"title":487,"date":351,"chapterOrder":488,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0100-stl-chu-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0100-STL初识","STL初识","1800-0100",{"path":490,"stem":491,"title":492,"date":351,"chapterOrder":493,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0200-std-array","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0200-std-array","std::array","1800-0200",{"path":495,"stem":496,"title":497,"date":351,"chapterOrder":498,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0300-string-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0300-string容器","string容器","1800-0300",{"path":500,"stem":501,"title":502,"date":351,"chapterOrder":503,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0400-vector-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0400-vector容器","vector 容器","1800-0400",{"path":505,"stem":506,"title":507,"date":351,"chapterOrder":508,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0500-deque-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0500-deque容器","deque 容器","1800-0500",{"path":510,"stem":511,"title":512,"date":351,"chapterOrder":513,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0600-stack-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0600-stack容器","stack 容器","1800-0600",{"path":515,"stem":516,"title":517,"date":351,"chapterOrder":518,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0700-queue-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0700-queue容器","queue 容器","1800-0700",{"path":520,"stem":521,"title":522,"date":351,"chapterOrder":523,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0800-list-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0800-list容器","list 容器","1800-0800",{"path":525,"stem":526,"title":527,"date":351,"chapterOrder":528,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0900-set-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0900-set容器","set \u002F multiset 容器","1800-0900",{"path":530,"stem":531,"title":532,"date":351,"chapterOrder":533,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1000-map-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-1000-map容器","map \u002F multimap 容器","1800-1000",{"path":535,"stem":536,"title":537,"date":351,"chapterOrder":538,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-1100-函数对象与谓词","函数对象与谓词","1800-1100",{"path":540,"stem":541,"title":542,"date":351,"chapterOrder":543,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1200-chang-yong-suan-fa","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-1200-常用算法","常用算法","1800-1200",{"path":545,"stem":546,"title":547,"date":351,"chapterOrder":548,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-stl-ti-gao-bian-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-STL提高编程","STL提高编程","1800",{"path":550,"stem":551,"title":552,"date":351,"chapterOrder":553,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1900-c-lei-xing-zhuan-huan","wiki\u002F2023-10-05-Cplusplus教学\u002F1900-C++类型转换","C++类型转换","1900",{"path":555,"stem":556,"title":557,"date":351,"chapterOrder":558,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0100-auto","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0100-auto","auto","2000-0100",{"path":560,"stem":561,"title":562,"date":351,"chapterOrder":563,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0200-nullptr","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0200-nullptr","nullptr","2000-0200",{"path":565,"stem":566,"title":567,"date":351,"chapterOrder":568,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0300-using","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0300-using","using","2000-0300",{"path":570,"stem":571,"title":572,"date":351,"chapterOrder":573,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0400-enum-class","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0400-enum-class","enum class","2000-0400",{"path":575,"stem":576,"title":577,"date":351,"chapterOrder":578,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0500-fan-wei-for-xun-huan","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0500-范围for循环","范围 for 循环","2000-0500",{"path":580,"stem":581,"title":582,"date":351,"chapterOrder":583,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0600-jie-gou-hua-bang-ding","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0600-结构化绑定","结构化绑定","2000-0600",{"path":585,"stem":586,"title":587,"date":351,"chapterOrder":588,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0700-constexpr","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0700-constexpr","constexpr","2000-0700",{"path":590,"stem":591,"title":592,"date":351,"chapterOrder":593,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0800-raii","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0800-RAII","RAII","2000-0800",{"path":595,"stem":596,"title":597,"date":351,"chapterOrder":598,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0900-zhi-neng-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0900-智能指针","智能指针","2000-0900",{"path":600,"stem":601,"title":602,"date":351,"chapterOrder":603,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1000-you-zhi-yin-yong-he-yi-dong-yu-yi","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1000-右值引用和移动语义","右值引用和移动语义","2000-1000",{"path":605,"stem":606,"title":607,"date":351,"chapterOrder":608,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1100-lambda-biao-da-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1100-Lambda表达式","Lambda 表达式","2000-1100",{"path":610,"stem":611,"title":612,"date":351,"chapterOrder":613,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1200-std-function","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1200-std-function","std::function","2000-1200",{"path":615,"stem":616,"title":617,"date":351,"chapterOrder":618,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1300-std-bind","std::bind","2000-1300",{"path":620,"stem":621,"title":622,"date":351,"chapterOrder":623,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1400-std-optional","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1400-std-optional","std::optional","2000-1400",{"path":625,"stem":626,"title":627,"date":351,"chapterOrder":628,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1500-std-variant","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1500-std-variant","std::variant","2000-1500",{"path":630,"stem":631,"title":632,"date":351,"chapterOrder":633,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1600-std-span","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1600-std-span","std::span","2000-1600",{"path":635,"stem":636,"title":637,"date":351,"chapterOrder":638,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\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","2000-1700",{"path":640,"stem":641,"title":642,"date":351,"chapterOrder":643,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1800-std-chrono","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1800-std-chrono","std::chrono","2000-1800",{"path":645,"stem":646,"title":647,"date":351,"chapterOrder":648,"chapterDepth":339,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0100-std-thread","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0100-std-thread","std::thread 与 join","2000-1900-0100",{"path":650,"stem":651,"title":652,"date":351,"chapterOrder":653,"chapterDepth":339,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0200-mutex-lock-guard","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0200-mutex-lock-guard","mutex 与 lock_guard","2000-1900-0200",{"path":655,"stem":656,"title":66,"date":351,"chapterOrder":657,"chapterDepth":339,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0300-std-atomic","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0300-std-atomic","2000-1900-0300",{"path":659,"stem":660,"title":661,"date":351,"chapterOrder":662,"chapterDepth":339,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0400-condition-variable","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0400-condition-variable","condition_variable","2000-1900-0400",{"path":348,"stem":357,"title":5,"date":351,"chapterOrder":350,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},{"path":665,"stem":666,"title":667,"date":351,"chapterOrder":668,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2000-std-filesystem","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-2000-std-filesystem","std::filesystem","2000-2000",{"path":670,"stem":671,"title":672,"date":351,"chapterOrder":673,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2100-modules-jian-jie","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-2100-modules简介","modules 简介","2000-2100",{"path":675,"stem":676,"title":677,"date":351,"chapterOrder":678,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-现代C++","现代C++","2000",{"path":680,"stem":681,"title":682,"date":351,"chapterOrder":683,"chapterDepth":339,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0100-ding-shi-qi-yu-yi-bu-io","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0100-定时器与异步IO","定时器与异步 IO","2100-0100-0100",{"path":685,"stem":686,"title":687,"date":351,"chapterOrder":688,"chapterDepth":339,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0200-boost-asio-ji-chu","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0200-Boost.Asio基础","Boost.Asio 基础","2100-0100-0200",{"path":690,"stem":691,"title":692,"date":351,"chapterOrder":693,"chapterDepth":339,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0300-chuan-kou-tong-xin","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0300-串口通信","串口通信","2100-0100-0300",{"path":695,"stem":696,"title":697,"date":351,"chapterOrder":698,"chapterDepth":339,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0400-tcp-tong-xin","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0400-TCP通信","TCP 通信","2100-0100-0400",{"path":700,"stem":701,"title":702,"date":351,"chapterOrder":703,"chapterDepth":339,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0500-udp-tong-xin","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0500-UDP通信","UDP 通信","2100-0100-0500",{"path":705,"stem":706,"title":707,"date":351,"chapterOrder":708,"chapterDepth":339,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0600-ji-qi-ren-gong-cheng-xie-fa-yu-ros2-ji-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0600-机器人工程写法与ROS2集成","机器人工程写法与 ROS2 集成","2100-0100-0600",{"path":710,"stem":711,"title":712,"date":351,"chapterOrder":713,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-boost-asio-yi-bu-io-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-Boost.Asio异步IO库","Boost.Asio异步IO库","2100-0100",{"path":715,"stem":716,"title":717,"date":351,"chapterOrder":718,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0200-eigen-xian-xing-dai-shu-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0200-Eigen线性代数库","Eigen线性代数库","2100-0200",{"path":720,"stem":721,"title":722,"date":351,"chapterOrder":723,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0300-opencv-ji-suan-ji-shi-jue-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0300-OpenCV计算机视觉库","OpenCV计算机视觉库","2100-0300",{"path":725,"stem":726,"title":727,"date":351,"chapterOrder":728,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0400-pcl-dian-yun-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0400-PCL点云库","PCL点云库","2100-0400",{"path":730,"stem":731,"title":732,"date":351,"chapterOrder":733,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0500-sophus-li-qun-li-dai-shu-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0500-Sophus李群李代数库","Sophus 李群李代数库","2100-0500",{"path":735,"stem":736,"title":737,"date":351,"chapterOrder":738,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-chang-yong-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-常用库","常用库学习","2100",{"path":740,"stem":741,"title":742,"date":351,"chapterOrder":743,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0100-cmakepresets-yu-gou-jian-an-zhuang","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0100-CMakePresets与构建安装","CMakePresets与构建安装","2200-0100",{"path":745,"stem":746,"title":747,"date":351,"chapterOrder":748,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0200-ding-ceng-cmake-yu-gong-gong-bian-yi-xuan-xiang","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0200-顶层CMake与公共编译选项","顶层CMake与公共编译选项","2200-0200",{"path":750,"stem":751,"title":752,"date":351,"chapterOrder":753,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0300-src-yu-lib-mo-kuai-cmake-xiang-jie","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0300-src与lib模块CMake详解","src与lib模块CMake详解","2200-0300",{"path":755,"stem":756,"title":757,"date":351,"chapterOrder":758,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0400-di-san-fang-ku-yi-lai-xie-fa","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0400-第三方库依赖写法","第三方库依赖写法","2200-0400",{"path":760,"stem":761,"title":762,"date":351,"chapterOrder":763,"chapterDepth":349,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0500-mu-ban-kuo-zhan-yu-chang-jian-wen-ti","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0500-模板扩展与常见问题","模板扩展与常见问题","2200-0500",{"path":765,"stem":766,"title":767,"date":351,"chapterOrder":768,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":358},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-cmake-gong-cheng-mu-ban","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-CMake工程模板","CMake工程模板","2200",{"path":354,"stem":770,"title":771,"date":351,"chapterOrder":360,"chapterDepth":373,"docKey":353,"docRoot":354,"docTitle":355,"isWikiDoc":359,"isWikiIndex":359},"wiki\u002F2023-10-05-Cplusplus教学\u002Findex","C\u002FC++教程",{"variants":773},[774,777,780,783,786],{"path":775,"localeSlug":776,"i18nKey":357},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","en-us",{"path":778,"localeSlug":779,"i18nKey":357},"\u002Fzh-hant\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","zh-hant",{"path":781,"localeSlug":782,"i18nKey":357},"\u002Fzh-hk\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","zh-hk",{"path":784,"localeSlug":785,"i18nKey":357},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","zh-tw",{"path":348,"localeSlug":363,"i18nKey":357},[775,361,778,361,781,361,784,361,348,361],1784646788125]