[{"data":1,"prerenderedAt":815},["ShallowReactive",2],{"wiki-page-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng":3,"wiki-doc-items-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng":394,"language-switcher-data-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng":799,"wiki-i18n-paths-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng":814},{"id":4,"title":5,"body":6,"canonicalPath":374,"chapterDepth":375,"chapterOrder":376,"date":377,"description":111,"docI18nKey":378,"docKey":379,"docRoot":380,"docTitle":381,"extension":382,"i18nKey":383,"isBlogPost":384,"isWikiDoc":385,"isWikiIndex":384,"layout":386,"legacyPath":386,"locale":387,"localeSlug":388,"meta":389,"navigation":385,"path":374,"seo":390,"sourcePath":391,"sourceStem":383,"stem":392,"wikiDepth":375,"__hash__":393},"content\u002F_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-并发编程.md","Concurrent programming",{"type":7,"value":8,"toc":364},"minimark",[9,14,18,31,34,38,41,76,79,83,101,104,114,118,243,247,286,289,292,309,312,353,357],[10,11,13],"h2",{"id":12},"what-problem-does-this-section-solve","What problem does this section solve?",[15,16,17],"p",{},"Modern computers typically have multiple CPU cores. If a program executes sequentially on a single thread, it cannot advance multiple time-consuming tasks simultaneously. Typical scenarios include:",[19,20,21,25,28],"ul",{},[22,23,24],"li",{},"One thread keeps the interface responsive, while another handles background tasks.",[22,26,27],{},"Wait for multiple network requests, timers, or peripheral events simultaneously.",[22,29,30],{},"Assign divisible computational tasks to multiple threads.",[15,32,33],{},"The challenges of concurrent programming lie not in \"creating threads\" itself, but in their lifecycle and shared data. Whenever two threads read and write to the same data simultaneously, synchronization issues must be carefully handled.",[10,35,37],{"id":36},"learning-path","learning path",[15,39,40],{},"This section is divided into several file-level sub-sections for learning:",[19,42,43,54,64,70],{},[22,44,45,49,50,53],{},[46,47,48],"code",{},"std::thread",": create a thread, and use ",[46,51,52],{},"join()"," to wait for its completion.",[22,55,56,59,60,63],{},[46,57,58],{},"std::mutex"," and ",[46,61,62],{},"std::lock_guard",": Protect shared data.",[22,65,66,69],{},[46,67,68],{},"std::atomic",": Lock-free thread-safe operations for a simple counter.",[22,71,72,75],{},[46,73,74],{},"std::condition_variable",": One thread waits for another thread to send a notification.",[15,77,78],{},"If only one task is started, the results of synchronization and concurrency may appear identical. The differences typically become apparent only when \"two or more tasks are waiting or computing simultaneously.\" This follows the same principle as with Boost.Asio, where the advantages of asynchronous operation aren't visible with a single timer—only when using two timers can you discern the difference.",[10,80,82],{"id":81},"c-standard-version","C++ standard version",[15,84,85,86,89,90,89,93,96,97,100],{},"C++11 introduced the standard threading library. C++14, C++17, and C++20 added tools such as ",[46,87,88],{},"std::shared_mutex",", ",[46,91,92],{},"std::jthread",[46,94,95],{},"std::latch",", and ",[46,98,99],{},"std::barrier",".",[15,102,103],{},"This section primarily uses basic tools available in C++11. Compilation typically requires adding thread options, such as:",[105,106,112],"pre",{"className":107,"code":109,"language":110,"meta":111},[108],"language-text","g++ demo.cpp -std=c++17 -pthread\n","text","",[46,113,109],{"__ignoreMap":111},[10,115,117],{"id":116},"common-tools","Common Tools",[119,120,121,138],"table",{},[122,123,124],"thead",{},[125,126,127,132,135],"tr",{},[128,129,131],"th",{"align":130},"left","Tools",[128,133,134],{"align":130},"effect",[128,136,137],{"align":130},"Common Header Files",[139,140,141,156,174,188,201,215,229],"tbody",{},[125,142,143,148,151],{},[144,145,146],"td",{"align":130},[46,147,48],{},[144,149,150],{"align":130},"Creating and Managing Threads",[144,152,153],{"align":130},[46,154,155],{},"\u003Cthread>",[125,157,158,163,166],{},[144,159,160],{"align":130},[46,161,162],{},"std::this_thread::sleep_for",[144,164,165],{"align":130},"The current thread sleeps for a period of time.",[144,167,168,170,171],{"align":130},[46,169,155],{},"、",[46,172,173],{},"\u003Cchrono>",[125,175,176,180,183],{},[144,177,178],{"align":130},[46,179,58],{},[144,181,182],{"align":130},"Mutex, protecting shared data.",[144,184,185],{"align":130},[46,186,187],{},"\u003Cmutex>",[125,189,190,194,197],{},[144,191,192],{"align":130},[46,193,62],{},[144,195,196],{"align":130},"RAII locking, automatically released when its scope ends.",[144,198,199],{"align":130},[46,200,187],{},[125,202,203,208,211],{},[144,204,205],{"align":130},[46,206,207],{},"std::unique_lock",[144,209,210],{"align":130},"More flexible RAII locks, often used with condition variables.",[144,212,213],{"align":130},[46,214,187],{},[125,216,217,221,224],{},[144,218,219],{"align":130},[46,220,68],{},[144,222,223],{"align":130},"Atomic variables are suitable for simple counting.",[144,225,226],{"align":130},[46,227,228],{},"\u003Catomic>",[125,230,231,235,238],{},[144,232,233],{"align":130},[46,234,74],{},[144,236,237],{"align":130},"wait and notify",[144,239,240],{"align":130},[46,241,242],{},"\u003Ccondition_variable>",[10,244,246],{"id":245},"concurrency-and-parallelism","Concurrency and parallelism",[119,248,249,262],{},[122,250,251],{},[125,252,253,256,259],{},[128,254,255],{"align":130},"concept",[128,257,258],{"align":130},"Meaning",[128,260,261],{"align":130},"example",[139,263,264,275],{},[125,265,266,269,272],{},[144,267,268],{"align":130},"concurrency",[144,270,271],{"align":130},"Multiple tasks are advanced within the same timeframe.",[144,273,274],{"align":130},"A program simultaneously waits for network, timer, and user input.",[125,276,277,280,283],{},[144,278,279],{"align":130},"parallel",[144,281,282],{"align":130},"Do multiple tasks really run simultaneously",[144,284,285],{"align":130},"Simultaneous multi-threaded computation on multi-core CPUs",[15,287,288],{},"When starting out, first develop engineering intuition: when multiple tasks wait for peripherals, networks, timers, or time-consuming computations, let them advance simultaneously, and the program as a whole becomes faster or more responsive.",[10,290,291],{"id":291},"使用建议",[19,293,294,297,300,303,306],{},[22,295,296],{},"明确目标：在开始前确定您的具体需求，以便选择最合适的工具或教程。",[22,298,299],{},"充分利用资源：参考官方文档、教程和博客，这些资料能帮助您快速上手并解决问题。",[22,301,302],{},"实践应用：通过动手操作项目或编写代码来巩固学习成果，提升实际操作能力。",[22,304,305],{},"问题解决：遇到困难时，查阅参考资料或寻求社区支持，逐步培养独立解决问题的能力。",[22,307,308],{},"分享经验：完成项目后，可以撰写文章或博客分享心得，帮助其他学习者。",[15,310,311],{},"如果需要针对特定领域（如单片机、机器人或环境搭建）的进一步建议，请提供更多信息，我将为您细化内容。",[313,314,315,318,321,332,335,345],"ol",{},[22,316,317],{},"First ensure correctness, then consider performance.",[22,319,320],{},"Avoid sharing data whenever possible, as each thread handling its own data is simplest.",[22,322,323,324,327,328,331],{},"Prioritize using ",[46,325,326],{},"mutex"," for protecting shared data, and only consider ",[46,329,330],{},"atomic"," for simple counting.",[22,333,334],{},"Keep the scope of locks as minimal as possible and avoid holding locks for extended periods.",[22,336,337,338,341,342,344],{},"In the initial stage, avoid using ",[46,339,340],{},"detach()"," and prefer ",[46,343,52],{}," to explicitly wait for thread termination.",[22,346,347,348,350,351,100],{},"In C++20 projects, you might look into ",[46,349,92],{},", which automatically requests a stop and joins on destruction, making it safer than ",[46,352,48],{},[10,354,356],{"id":355},"engineering-expansion","Engineering expansion",[15,358,359,360,363],{},"In ROS2, multithreaded callback executors, callback groups, and shared state protection all involve threads and locks. In Boost.Asio, multiple asynchronous tasks may run in the same ",[46,361,362],{},"io_context"," or thread pool, and one must also consider shared data between callbacks. Mastering the concurrency tools in the C++ standard library makes it much easier to work with these engineering libraries.",{"title":111,"searchDepth":365,"depth":365,"links":366},2,[367,368,369,370,371,372,373],{"id":12,"depth":365,"text":13},{"id":36,"depth":365,"text":37},{"id":81,"depth":365,"text":82},{"id":116,"depth":365,"text":117},{"id":245,"depth":365,"text":246},{"id":291,"depth":365,"text":291},{"id":355,"depth":365,"text":356},"\u002Fen-us\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","en-us:2023-10-05-cplusplus-jiao-xue","\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue","Cplusplus教学","md","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-并发编程",false,true,null,"en-US","en-us",{},{"title":5,"description":111},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-并发编程","6RALY8EQf2Iwg2k5KrBJyasn7lEmT5ypmuM1NWGn75M",[395,401,406,411,416,421,426,431,436,441,446,451,456,461,466,471,476,481,486,491,496,501,506,511,516,521,526,531,536,541,546,551,556,561,566,571,576,581,586,591,596,601,606,611,616,621,626,631,636,641,646,651,656,661,666,671,676,681,685,690,691,696,701,706,711,716,721,726,731,736,741,746,751,756,761,766,771,776,781,786,791,796],{"path":396,"stem":397,"title":398,"date":377,"chapterOrder":399,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0100-c-kai-fa-huan-jing-da-jian-yu-ce-shi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0100-C++开发环境搭建与测试","C++ Development Environment Setup and Testing","0100",0,{"path":402,"stem":403,"title":404,"date":377,"chapterOrder":405,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0200-C++基础初识","C++ Basics","0200",{"path":407,"stem":408,"title":409,"date":377,"chapterOrder":410,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0300-shu-ju-lei-xing-yu-shu-ju-cun-fang","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0300-数据类型与数据存放","Data Types and Data Storage","0300",{"path":412,"stem":413,"title":414,"date":377,"chapterOrder":415,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0400-shu-ru-shu-chu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0400-输入输出","Input and Output","0400",{"path":417,"stem":418,"title":419,"date":377,"chapterOrder":420,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0500-yun-suan-fu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0500-运算符","operator","0500",{"path":422,"stem":423,"title":424,"date":377,"chapterOrder":425,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0600-cheng-xu-liu-cheng-jie-gou","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0600-程序流程结构","program flow structure","0600",{"path":427,"stem":428,"title":429,"date":377,"chapterOrder":430,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0700-shu-zu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0700-数组","array","0700",{"path":432,"stem":433,"title":434,"date":377,"chapterOrder":435,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0800-han-shu-yu-tou-wen-jian","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0800-函数与头文件","Functions and Header Files","0800",{"path":437,"stem":438,"title":439,"date":377,"chapterOrder":440,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0900-zhi-zhen","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0900-指针","pointer","0900",{"path":442,"stem":443,"title":444,"date":377,"chapterOrder":445,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1000-jie-gou-ti-yu-gong-yong-ti","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1000-结构体与共用体","Structures and Unions","1000",{"path":447,"stem":448,"title":449,"date":377,"chapterOrder":450,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1100-nei-cun-fen-qu-yu-sheng-ming-zhou-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1100-内存分区与生命周期","Memory Partitioning and Lifecycle","1100",{"path":452,"stem":453,"title":454,"date":377,"chapterOrder":455,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1200-引用","reference","1200",{"path":457,"stem":458,"title":459,"date":377,"chapterOrder":460,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1300-han-shu-ti-gao-yu-ming-ming-kong-jian","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1300-函数提高与命名空间","Advanced Functions and Namespaces","1300",{"path":462,"stem":463,"title":464,"date":377,"chapterOrder":465,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0100-feng-zhuang","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0100-封装","encapsulation","1400-0100",{"path":467,"stem":468,"title":469,"date":377,"chapterOrder":470,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0200-dui-xiang-chu-shi-hua-he-qing-li","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0200-对象初始化和清理","Object initialization and cleanup","1400-0200",{"path":472,"stem":473,"title":474,"date":377,"chapterOrder":475,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0300-对象模型与this指针","Object Model and the `this` Pointer","1400-0300",{"path":477,"stem":478,"title":479,"date":377,"chapterOrder":480,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0400-you-yuan-yu-yun-suan-fu-zhong-zai","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0400-友元与运算符重载","Friends and operator overloading","1400-0400",{"path":482,"stem":483,"title":484,"date":377,"chapterOrder":485,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0500-ji-cheng","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0500-继承","inheritance","1400-0500",{"path":487,"stem":488,"title":489,"date":377,"chapterOrder":490,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0600-duo-tai","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0600-多态","polymorphism","1400-0600",{"path":492,"stem":493,"title":494,"date":377,"chapterOrder":495,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-lei-he-dui-xiang","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-类和对象","Classes and Objects","1400",{"path":497,"stem":498,"title":499,"date":377,"chapterOrder":500,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1500-wen-jian-cao-zuo","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1500-文件操作","File operations","1500",{"path":502,"stem":503,"title":504,"date":377,"chapterOrder":505,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1600-yi-chang-chu-li-yu-cuo-wu-ma","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1600-异常处理与错误码","异常处理","1600",{"path":507,"stem":508,"title":509,"date":377,"chapterOrder":510,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1700-mu-ban","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1700-模板","template","1700",{"path":512,"stem":513,"title":514,"date":377,"chapterOrder":515,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0100-stl-chu-shi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0100-STL初识","Introduction to STL","1800-0100",{"path":517,"stem":518,"title":519,"date":377,"chapterOrder":520,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0200-std-array","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0200-std-array","std::array","1800-0200",{"path":522,"stem":523,"title":524,"date":377,"chapterOrder":525,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0300-string-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0300-string容器","string container","1800-0300",{"path":527,"stem":528,"title":529,"date":377,"chapterOrder":530,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0400-vector-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0400-vector容器","vector 容器","1800-0400",{"path":532,"stem":533,"title":534,"date":377,"chapterOrder":535,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0500-deque-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0500-deque容器","deque 容器","1800-0500",{"path":537,"stem":538,"title":539,"date":377,"chapterOrder":540,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0600-stack-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0600-stack容器","stack 容器","1800-0600",{"path":542,"stem":543,"title":544,"date":377,"chapterOrder":545,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0700-queue-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0700-queue容器","queue container","1800-0700",{"path":547,"stem":548,"title":549,"date":377,"chapterOrder":550,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0800-list-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0800-list容器","list 容器","1800-0800",{"path":552,"stem":553,"title":554,"date":377,"chapterOrder":555,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0900-set-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-0900-set容器","set \u002F multiset 容器","1800-0900",{"path":557,"stem":558,"title":559,"date":377,"chapterOrder":560,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1000-map-rong-qi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-1000-map容器","map \u002F multimap 容器","1800-1000",{"path":562,"stem":563,"title":564,"date":377,"chapterOrder":565,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-1100-函数对象与谓词","Function objects and predicates","1800-1100",{"path":567,"stem":568,"title":569,"date":377,"chapterOrder":570,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1200-chang-yong-suan-fa","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-1200-常用算法","Common algorithms","1800-1200",{"path":572,"stem":573,"title":574,"date":377,"chapterOrder":575,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-stl-ti-gao-bian-cheng","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1800-STL提高编程","Level up your programming with STL.","1800",{"path":577,"stem":578,"title":579,"date":377,"chapterOrder":580,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1900-c-lei-xing-zhuan-huan","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1900-C++类型转换","C++ Type Casting","1900",{"path":582,"stem":583,"title":584,"date":377,"chapterOrder":585,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0100-auto","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0100-auto","auto","2000-0100",{"path":587,"stem":588,"title":589,"date":377,"chapterOrder":590,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0200-nullptr","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0200-nullptr","nullptr","2000-0200",{"path":592,"stem":593,"title":594,"date":377,"chapterOrder":595,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0300-using","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0300-using","using","2000-0300",{"path":597,"stem":598,"title":599,"date":377,"chapterOrder":600,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0400-enum-class","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0400-enum-class","enum class","2000-0400",{"path":602,"stem":603,"title":604,"date":377,"chapterOrder":605,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0500-fan-wei-for-xun-huan","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0500-范围for循环","range-based for loop","2000-0500",{"path":607,"stem":608,"title":609,"date":377,"chapterOrder":610,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0600-jie-gou-hua-bang-ding","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0600-结构化绑定","structured binding","2000-0600",{"path":612,"stem":613,"title":614,"date":377,"chapterOrder":615,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0700-constexpr","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0700-constexpr","constexpr","2000-0700",{"path":617,"stem":618,"title":619,"date":377,"chapterOrder":620,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0800-raii","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0800-RAII","RAII","2000-0800",{"path":622,"stem":623,"title":624,"date":377,"chapterOrder":625,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0900-zhi-neng-zhi-zhen","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0900-智能指针","Smart pointer","2000-0900",{"path":627,"stem":628,"title":629,"date":377,"chapterOrder":630,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1000-you-zhi-yin-yong-he-yi-dong-yu-yi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1000-右值引用和移动语义","Rvalue references and move semantics","2000-1000",{"path":632,"stem":633,"title":634,"date":377,"chapterOrder":635,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1100-lambda-biao-da-shi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1100-Lambda表达式","Lambda expression","2000-1100",{"path":637,"stem":638,"title":639,"date":377,"chapterOrder":640,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1200-std-function","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1200-std-function","std::function","2000-1200",{"path":642,"stem":643,"title":644,"date":377,"chapterOrder":645,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1300-std-bind","std::bind","2000-1300",{"path":647,"stem":648,"title":649,"date":377,"chapterOrder":650,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1400-std-optional","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1400-std-optional","std::optional","2000-1400",{"path":652,"stem":653,"title":654,"date":377,"chapterOrder":655,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1500-std-variant","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1500-std-variant","std::variant","2000-1500",{"path":657,"stem":658,"title":659,"date":377,"chapterOrder":660,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1600-std-span","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1600-std-span","std::span","2000-1600",{"path":662,"stem":663,"title":664,"date":377,"chapterOrder":665,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1700-std-format-print","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1700-std-format-print","std::format \u002F std::print","2000-1700",{"path":667,"stem":668,"title":669,"date":377,"chapterOrder":670,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1800-std-chrono","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1800-std-chrono","std::chrono","2000-1800",{"path":672,"stem":673,"title":674,"date":377,"chapterOrder":675,"chapterDepth":365,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0100-std-thread","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0100-std-thread","std::thread and join","2000-1900-0100",{"path":677,"stem":678,"title":679,"date":377,"chapterOrder":680,"chapterDepth":365,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0200-mutex-lock-guard","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0200-mutex-lock-guard","mutex 与 lock_guard","2000-1900-0200",{"path":682,"stem":683,"title":68,"date":377,"chapterOrder":684,"chapterDepth":365,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0300-std-atomic","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0300-std-atomic","2000-1900-0300",{"path":686,"stem":687,"title":688,"date":377,"chapterOrder":689,"chapterDepth":365,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0400-condition-variable","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0400-condition-variable","condition_variable","2000-1900-0400",{"path":374,"stem":392,"title":5,"date":377,"chapterOrder":376,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},{"path":692,"stem":693,"title":694,"date":377,"chapterOrder":695,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2000-std-filesystem","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-2000-std-filesystem","std::filesystem","2000-2000",{"path":697,"stem":698,"title":699,"date":377,"chapterOrder":700,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2100-modules-jian-jie","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-2100-modules简介","Modules Introduction","2000-2100",{"path":702,"stem":703,"title":704,"date":377,"chapterOrder":705,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-现代C++","Modern C++","2000",{"path":707,"stem":708,"title":709,"date":377,"chapterOrder":710,"chapterDepth":365,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0100-ding-shi-qi-yu-yi-bu-io","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0100-定时器与异步IO","Timers and Asynchronous I\u002FO","2100-0100-0100",{"path":712,"stem":713,"title":714,"date":377,"chapterOrder":715,"chapterDepth":365,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0200-boost-asio-ji-chu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0200-Boost.Asio基础","Boost.Asio Basics","2100-0100-0200",{"path":717,"stem":718,"title":719,"date":377,"chapterOrder":720,"chapterDepth":365,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0300-chuan-kou-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0300-串口通信","serial communication","2100-0100-0300",{"path":722,"stem":723,"title":724,"date":377,"chapterOrder":725,"chapterDepth":365,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0400-tcp-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0400-TCP通信","TCP communication","2100-0100-0400",{"path":727,"stem":728,"title":729,"date":377,"chapterOrder":730,"chapterDepth":365,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0500-udp-tong-xin","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0500-UDP通信","UDP communication","2100-0100-0500",{"path":732,"stem":733,"title":734,"date":377,"chapterOrder":735,"chapterDepth":365,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0600-ji-qi-ren-gong-cheng-xie-fa-yu-ros2-ji-cheng","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0600-机器人工程写法与ROS2集成","Robot Engineering Approach and ROS2 Integration","2100-0100-0600",{"path":737,"stem":738,"title":739,"date":377,"chapterOrder":740,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-boost-asio-yi-bu-io-ku","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-Boost.Asio异步IO库","Boost.Asio asynchronous IO library","2100-0100",{"path":742,"stem":743,"title":744,"date":377,"chapterOrder":745,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0200-eigen-xian-xing-dai-shu-ku","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0200-Eigen线性代数库","Eigen linear algebra library","2100-0200",{"path":747,"stem":748,"title":749,"date":377,"chapterOrder":750,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0300-opencv-ji-suan-ji-shi-jue-ku","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0300-OpenCV计算机视觉库","OpenCV Computer Vision Library","2100-0300",{"path":752,"stem":753,"title":754,"date":377,"chapterOrder":755,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0400-pcl-dian-yun-ku","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0400-PCL点云库","PCL Point Cloud Library","2100-0400",{"path":757,"stem":758,"title":759,"date":377,"chapterOrder":760,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0500-sophus-li-qun-li-dai-shu-ku","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-0500-Sophus李群李代数库","Sophus Lie group and Lie algebra library","2100-0500",{"path":762,"stem":763,"title":764,"date":377,"chapterOrder":765,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-chang-yong-ku","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2100-常用库","Learning Common Libraries","2100",{"path":767,"stem":768,"title":769,"date":377,"chapterOrder":770,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0100-cmakepresets-yu-gou-jian-an-zhuang","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0100-CMakePresets与构建安装","CMakePresets and Build Installation","2200-0100",{"path":772,"stem":773,"title":774,"date":377,"chapterOrder":775,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0200-ding-ceng-cmake-yu-gong-gong-bian-yi-xuan-xiang","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0200-顶层CMake与公共编译选项","Top-level CMake and Public Compilation Options","2200-0200",{"path":777,"stem":778,"title":779,"date":377,"chapterOrder":780,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0300-src-yu-lib-mo-kuai-cmake-xiang-jie","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0300-src与lib模块CMake详解","Detailed CMake Explanation for src and lib Modules","2200-0300",{"path":782,"stem":783,"title":784,"date":377,"chapterOrder":785,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0400-di-san-fang-ku-yi-lai-xie-fa","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0400-第三方库依赖写法","How to write third-party library dependencies","2200-0400",{"path":787,"stem":788,"title":789,"date":377,"chapterOrder":790,"chapterDepth":375,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0500-mu-ban-kuo-zhan-yu-chang-jian-wen-ti","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-0500-模板扩展与常见问题","Template Extensions and FAQ","2200-0500",{"path":792,"stem":793,"title":794,"date":377,"chapterOrder":795,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":384},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-cmake-gong-cheng-mu-ban","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2200-CMake工程模板","CMake Project Template","2200",{"path":380,"stem":797,"title":798,"date":377,"chapterOrder":386,"chapterDepth":400,"docKey":379,"docRoot":380,"docTitle":381,"isWikiDoc":385,"isWikiIndex":385},"_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002Findex","C\u002FC++ tutorial",{"variants":800},[801,802,805,808,811],{"path":374,"localeSlug":388,"i18nKey":383},{"path":803,"localeSlug":804,"i18nKey":383},"\u002Fzh-hant\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","zh-hant",{"path":806,"localeSlug":807,"i18nKey":383},"\u002Fzh-hk\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","zh-hk",{"path":809,"localeSlug":810,"i18nKey":383},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","zh-tw",{"path":812,"localeSlug":813,"i18nKey":383},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","zh-cn",[374,391,803,391,806,391,809,391,812,391],1784646869126]