[{"data":1,"prerenderedAt":1179},["ShallowReactive",2],{"wiki-page-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c":3,"wiki-doc-items-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c":770,"language-switcher-data-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c":1163,"wiki-i18n-paths-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c":1178},{"id":4,"title":5,"body":6,"canonicalPath":749,"chapterDepth":750,"chapterOrder":751,"date":752,"description":12,"docI18nKey":753,"docKey":754,"docRoot":755,"docTitle":756,"extension":757,"i18nKey":758,"isBlogPost":759,"isWikiDoc":760,"isWikiIndex":759,"layout":761,"legacyPath":761,"locale":762,"localeSlug":763,"meta":764,"navigation":760,"path":749,"seo":765,"sourcePath":766,"sourceStem":758,"stem":767,"wikiDepth":768,"__hash__":769},"content\u002F_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-现代C++.md","Modern C++",{"type":7,"value":8,"toc":734},"minimark",[9,13,16,21,24,56,59,63,177,180,209,213,216,392,413,418,429,444,447,458,472,476,481,493,496,534,538,544,547,573,577,586,637,646,650,653,681,685,724],[10,11,12],"p",{},"\"Modern C++\" typically refers to the series of coding practices and library tools introduced in the C++11 standard and subsequent versions. It does not completely discard old C++, but instead builds upon existing syntax to provide safer, clearer, and more engineering-friendly ways of expression.",[10,14,15],{},"This chapter is organized in a progression from foundational to advanced concepts: beginning with syntax commonly used in daily practice, moving on to lifecycle and resource management, then covering callbacks, data representation, time, files, and concurrency, and finally introducing modular compilation.",[17,18,20],"h2",{"id":19},"conventions-for-the-tutorial-examples-in-this-chapter","Conventions for the Tutorial Examples in This Chapter",[10,22,23],{},"For your convenience in directly copying and verifying, the \"sample code\" in each section of this chapter adheres to these conventions:",[25,26,27,36,43,50,53],"ol",{},[28,29,30,31,35],"li",{},"The example code includes the complete ",[32,33,34],"code",{},"#include",".",[28,37,38,39,42],{},"All example code includes the ",[32,40,41],{},"main"," function.",[28,44,45,46,49],{},"Example code can be copied into a single ",[32,47,48],{},".cpp"," file for compilation and execution.",[28,51,52],{},"The running result is given below each example code.",[28,54,55],{},"For examples, try to introduce only one new concept at a time, avoiding cramming too much into a single example.",[10,57,58],{},"The \"common errors\" mentioned in the text are used to illustrate what not to do. To avoid accidental copying, incorrect examples will be尽量 placed within text descriptions or short snippets, not presented as runnable examples.",[17,60,62],{"id":61},"learning-sequence","Learning Sequence",[64,65,66,83],"table",{},[67,68,69],"thead",{},[70,71,72,77,80],"tr",{},[73,74,76],"th",{"align":75},"left","Stage",[73,78,79],{"align":75},"the first problem to solve",[73,81,82],{"align":75},"Corresponding Chapter",[84,85,86,111,125,152],"tbody",{},[70,87,88,92,95],{},[89,90,91],"td",{"align":75},"Basic Expressions",[89,93,94],{"align":75},"Write fewer redundant types, minimize null pointer and enum misuse, and make traversals clearer.",[89,96,97,100,101,100,104,100,107,110],{"align":75},[32,98,99],{},"auto",", ",[32,102,103],{},"nullptr",[32,105,106],{},"using",[32,108,109],{},"enum class",", range-based for, structured binding",[70,112,113,116,119],{},[89,114,115],{"align":75},"lifecycle",[89,117,118],{"align":75},"When are resources released, who owns the objects, and how are large objects passed efficiently?",[89,120,121,124],{"align":75},[32,122,123],{},"constexpr",", RAII, smart pointers, rvalue references, and move semantics",[70,126,127,130,133],{},[89,128,129],{"align":75},"Callbacks and Data Models",[89,131,132],{"align":75},"small functions, callback preservation, parameter adaptation, optional value, one of several types",[89,134,135,136,139,140,139,143,139,146,139,149],{"align":75},"Lambda、",[32,137,138],{},"std::function","、",[32,141,142],{},"std::bind",[32,144,145],{},"std::optional",[32,147,148],{},"std::variant",[32,150,151],{},"std::span",[70,153,154,157,160],{},[89,155,156],{"align":75},"System capabilities",[89,158,159],{"align":75},"Formatted output, timing, concurrency, file system, modularity",[89,161,162,165,166,100,169,172,173,176],{"align":75},[32,163,164],{},"std::format"," \u002F ",[32,167,168],{},"std::print",[32,170,171],{},"std::chrono",", concurrent programming, ",[32,174,175],{},"std::filesystem",", modules",[10,178,179],{},"The focus of modern C++ is not \"syntax updates\" but \"making the intent clear\". For example:",[181,182,183,192,197,200,203,206],"ul",{},[28,184,185,187,188,191],{},[32,186,103],{}," keep null pointers and integers ",[32,189,190],{},"0"," separate.",[28,193,194,196],{},[32,195,109],{}," prevents arbitrary mixing of different enum types.",[28,198,199],{},"RAII and smart pointers delegate resource release to object lifecycle.",[28,201,202],{},"Lambda allows local callbacks to be written at the point of use.",[28,204,205],{},"Unify the storage and passing of different types of callable objects.",[28,207,208],{},"Make formatted output more concise while maintaining type safety.",[17,210,212],{"id":211},"the-relationship-between-old-and-modern-approaches","The Relationship Between Old and Modern Approaches",[10,214,215],{},"Many modern C++ features stem from a simple problem: the old ways of doing things can work, but they tend to become error-prone in complex scenarios.",[64,217,218,231],{},[67,219,220],{},[70,221,222,225,228],{},[73,223,224],{"align":75},"Old way of writing",[73,226,227],{"align":75},"Main Issues",[73,229,230],{"align":75},"Modern Writing Style",[84,232,233,250,265,277,297,315,326,338,351,366,382],{},[70,234,235,243,246],{},[89,236,237,165,240,242],{"align":75},[32,238,239],{},"NULL",[32,241,190],{}," indicates a null pointer.",[89,244,245],{"align":75},"can be confused with integer overloading",[89,247,248],{"align":75},[32,249,103],{},[70,251,252,258,261],{},[89,253,254,257],{"align":75},[32,255,256],{},"typedef"," write type alias",[89,259,260],{"align":75},"Template aliases are not intuitive.",[89,262,263],{"align":75},[32,264,106],{},[70,266,267,270,273],{},[89,268,269],{"align":75},"Ordinary enumeration",[89,271,272],{"align":75},"Enum names pollute the scope, can implicitly convert to integers.",[89,274,275],{"align":75},[32,276,109],{},[70,278,279,285,288],{},[89,280,281,282],{"align":75},"Manual ",[32,283,284],{},"new\u002Fdelete",[89,286,287],{"align":75},"Early returns, exceptions, and repeated releases are error-prone.",[89,289,290,291,139,294],{"align":75},"RAII、",[32,292,293],{},"std::unique_ptr",[32,295,296],{},"std::shared_ptr",[70,298,299,304,307],{},[89,300,281,301],{"align":75},[32,302,303],{},"lock\u002Funlock",[89,305,306],{"align":75},"Forgetting to unlock will cause deadlock, and exceptional paths are even more dangerous.",[89,308,309,139,312],{"align":75},[32,310,311],{},"std::lock_guard",[32,313,314],{},"std::unique_lock",[70,316,317,320,323],{},[89,318,319],{"align":75},"Defining ordinary functions for simple callbacks at a distance.",[89,321,322],{"align":75},"Local logic gets scattered, making it inconvenient to carry context.",[89,324,325],{"align":75},"Lambda",[70,327,328,331,334],{},[89,329,330],{"align":75},"Only use function pointers to save callbacks",[89,332,333],{"align":75},"Cannot save captured lambdas and function objects",[89,335,336],{"align":75},[32,337,138],{},[70,339,340,343,346],{},[89,341,342],{"align":75},"manually adjust the adaptation function parameters",[89,344,345],{"align":75},"Code duplication, troublesome adaptation of old interfaces",[89,347,348,350],{"align":75},[32,349,142],{}," or Lambda",[70,352,353,356,362],{},[89,354,355],{"align":75},"Represent failure using a special value.",[89,357,358,361],{"align":75},[32,359,360],{},"-1",", empty strings, and other magic values have unclear semantics.",[89,363,364],{"align":75},[32,365,145],{},[70,367,368,375,378],{},[89,369,370,371,374],{"align":75},"Use ",[32,372,373],{},"union"," to denote various types.",[89,376,377],{"align":75},"Accessing an invalid type results in undefined behavior.",[89,379,380],{"align":75},[32,381,148],{},[70,383,384,387,390],{},[89,385,386],{"align":75},"Handwriting time unit conversion",[89,388,389],{"align":75},"Seconds, milliseconds, and microseconds can be easy to confuse. Here's a quick breakdown:",[89,391],{"align":75},[181,393,394,401,407],{},[28,395,396,400],{},[397,398,399],"strong",{},"Second (s)"," – The basic unit of time.",[28,402,403,406],{},[397,404,405],{},"Millisecond (ms)"," – One-thousandth of a second (1 ms = 0.001 s).",[28,408,409,412],{},[397,410,411],{},"Microsecond (μs)"," – One-millionth of a second (1 μs = 0.000001 s).",[10,414,415],{},[397,416,417],{},"Common Examples:",[181,419,420,423,426],{},[28,421,422],{},"A heartbeat ≈ 800 ms",[28,424,425],{},"A camera flash ≈ 1 ms",[28,427,428],{},"CPU clock cycles ≈ tens of nanoseconds (0.001 μs)",[10,430,431,434,437,438,440,441,443],{},[397,432,433],{},"Easy Mnemonic:",[435,436],"br",{},"\n“Milli- means thousandths, micro- means millionths.”|",[32,439,171],{},"|\n|Platform-related file API|The syntax differs between Windows and Linux.|",[32,442,175],{},"|",[10,445,446],{},"When learning about each feature, you can understand it by considering three questions:",[25,448,449,452,455],{},[28,450,451],{},"What are the common pitfalls of the old writing style?",[28,453,454],{},"How do modern approaches encode intent into types or syntax?",[28,456,457],{},"The differences become noticeable in scenarios where a deep understanding of the underlying hardware or system architecture is required, such as in advanced robotics projects using the Robot Operating System or when programming a microcontroller for precise electrical control. For beginners following a tutorial, the distinctions might seem subtle initially, but as one delves into more complex applications—like integrating vision systems or customizing sensor behaviors—the variations in approach and terminology become significant. Referencing detailed blog posts and comprehensive references can further clarify these practical differences.",[10,459,460,461,463,464,467,468,471],{},"For instance, with a smart pointer example, if you only create the object inside ",[32,462,41],{}," and then exit normally, it seems much the same as manually ",[32,465,466],{},"delete","; but once there's an early ",[32,469,470],{},"return",", an exception, or cross‑function passing, the value of RAII becomes immediately apparent. Similarly, with a Lambda, if you just invoke it right away, capturing by value or by reference might both work fine; but once it's saved into a callback, a thread, or a timer, the difference in lifecycles becomes critically important.",[17,473,475],{"id":474},"recommended-learning-path","Recommended Learning Path",[477,478,480],"h3",{"id":479},"make-the-code-clearer","Make the code clearer.",[10,482,483,484,100,486,100,488,100,490,492],{},"Start by learning ",[32,485,99],{},[32,487,103],{},[32,489,106],{},[32,491,109],{},", range-for loops, and structured bindings. These concepts are not difficult, but they can significantly reduce verbose code and low-level errors.",[10,494,495],{},"Key points to remember for this stage:",[181,497,498,503,508,513,520],{},[28,499,500,502],{},[32,501,99],{}," is not weakly typed; it just lets the compiler infer types for you.",[28,504,505,507],{},[32,506,103],{}," represents a null pointer only, not an integer.",[28,509,510,512],{},[32,511,109],{}," does not mix with integers by default.",[28,514,515,516,519],{},"Range-for defaults to using ",[32,517,518],{},"const auto&"," to iterate over large objects.",[28,521,522,523,100,526,529,530,533],{},"Structured bindings are suitable for unpacking ",[32,524,525],{},"pair",[32,527,528],{},"tuple",", structs, and ",[32,531,532],{},"map"," elements.",[477,535,537],{"id":536},"understand-lifecycle","understand lifecycle",[10,539,540,541,543],{},"Continue learning ",[32,542,123],{},", RAII, smart pointers, and move semantics. At this stage, more important than the syntax is the mindset: when is an object created, when is it destroyed, who owns it, and who is just borrowing it.",[10,545,546],{},"It is recommended to understand in this order:",[25,548,549,552,558,564,570],{},[28,550,551],{},"RAII: Resource and Object Lifecycle Binding.",[28,553,554,557],{},[32,555,556],{},"unique_ptr","：Exclusive ownership, default option.",[28,559,560,563],{},[32,561,562],{},"shared_ptr"," should only be used when multiple owners are indeed required.",[28,565,566,569],{},[32,567,568],{},"weak_ptr",": Only observe without extending the lifecycle, to break circular references.",[28,571,572],{},"Move semantics: Transfer resources out to avoid deep copying of large objects.",[477,574,576],{"id":575},"master-callbacks-and-data-expressions","Master callbacks and data expressions",[10,578,579,580,582,583,585],{},"The three chapters on Lambda, ",[32,581,138],{},", and ",[32,584,142],{}," should be read consecutively but not memorized together.",[64,587,588,601],{},[67,589,590],{},[70,591,592,595,598],{},[73,593,594],{"align":75},"Tools",[73,596,597],{"align":75},"Problems Addressed",[73,599,600],{"align":75},"Key points",[84,602,603,613,625],{},[70,604,605,607,610],{},[89,606,325],{"align":75},[89,608,609],{"align":75},"Write a small function in the field.",[89,611,612],{"align":75},"capture lists, parameters, return values, lifetime",[70,614,615,619,622],{},[89,616,617],{"align":75},[32,618,138],{},[89,620,621],{"align":75},"Uniformly store and pass different types of callable objects.",[89,623,624],{"align":75},"Type erasure, callback member variables, callback containers",[70,626,627,631,634],{},[89,628,629],{"align":75},[32,630,142],{},[89,632,633],{"align":75},"Adapting parameters of existing functions",[89,635,636],{"align":75},"Fixing parameters, adjusting order, binding member functions",[10,638,639,100,641,582,643,645],{},[32,640,145],{},[32,642,148],{},[32,644,151],{}," respectively address the issues of \"might not have a value,\" \"one of several types,\" and \"borrowing a contiguous block of data.\"",[477,647,649],{"id":648},"developing-engineering-competence","Developing Engineering Competence",[10,651,652],{},"Finally, learn about formatting output, time, concurrency, filesystems, and modules. These topics are closer to real-world projects:",[181,654,655,669,672,675,678],{},[28,656,657,165,659,661,662,665,666,35],{},[32,658,164],{},[32,660,168],{}," is more concise than ",[32,663,664],{},"stringstream",", and more type-safe than ",[32,667,668],{},"printf",[28,670,671],{},"Avoid manual time unit conversions.",[28,673,674],{},"Concurrent programming should prioritize correctness before speed.",[28,676,677],{},"Make path, directory, and file information handling cross-platform.",[28,679,680],{},"Modules, a new compilation model introduced in C++20, should first be understood conceptually, with adoption decided based on toolchain support.",[17,682,684],{"id":683},"practical-exercise-suggestions","Practical Exercise Suggestions",[25,686,687,704,710,721],{},[28,688,689,690,693,694,697,698,100,700,582,702,35],{},"In the tutorial: write two overloaded functions, respectively receiving ",[32,691,692],{},"int"," and ",[32,695,696],{},"int*",", observe the differences between ",[32,699,190],{},[32,701,239],{},[32,703,103],{},[28,705,706,707,709],{},"Learning ",[32,708,109],{},": Replace ordinary enums with enum classes, and see which implicit conversions are forbidden.",[28,711,712,713,715,716,718,719,35],{},"When learning smart pointers, first write a manual ",[32,714,470],{}," example of ",[32,717,284],{},", then convert it to ",[32,720,556],{},[28,722,723],{},"Learning Lambda: Use value capture and reference capture separately to observe whether external variables change.",[10,725,726,727,729,730,733],{},"When using value capture, a copy of the variable is made, so the original remains unchanged. With reference capture, the variable is accessed directly by reference, allowing modifications to the original.\n5. Learn ",[32,728,138],{},": Put multiple different lambdas into the same ",[32,731,732],{},"vector"," and execute them uniformly.\n6. Learning concurrency: First sequentially execute two 1-second wait tasks, then run them in two threads, comparing the time taken.",{"title":735,"searchDepth":736,"depth":736,"links":737},"",2,[738,739,740,741,748],{"id":19,"depth":736,"text":20},{"id":61,"depth":736,"text":62},{"id":211,"depth":736,"text":212},{"id":474,"depth":736,"text":475,"children":742},[743,745,746,747],{"id":479,"depth":744,"text":480},3,{"id":536,"depth":744,"text":537},{"id":575,"depth":744,"text":576},{"id":648,"depth":744,"text":649},{"id":683,"depth":736,"text":684},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c",0,"2000","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-现代C++",false,true,null,"en-US","en-us",{},{"title":5,"description":12},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-现代C++",1,"qCb3Ek3T-flX39PkAgRLySrTC0LxMx6jjJpu4RxULCg",[771,776,781,786,791,796,801,806,811,816,821,826,831,836,841,846,851,856,861,866,871,876,881,886,891,896,901,906,911,916,921,926,931,936,941,946,951,956,960,964,968,972,977,982,986,991,996,1001,1006,1010,1014,1018,1022,1026,1031,1035,1040,1045,1050,1055,1060,1064,1069,1070,1075,1080,1085,1090,1095,1100,1105,1110,1115,1120,1125,1130,1135,1140,1145,1150,1155,1160],{"path":772,"stem":773,"title":774,"date":752,"chapterOrder":775,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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",{"path":777,"stem":778,"title":779,"date":752,"chapterOrder":780,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":782,"stem":783,"title":784,"date":752,"chapterOrder":785,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":787,"stem":788,"title":789,"date":752,"chapterOrder":790,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":792,"stem":793,"title":794,"date":752,"chapterOrder":795,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":797,"stem":798,"title":799,"date":752,"chapterOrder":800,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":802,"stem":803,"title":804,"date":752,"chapterOrder":805,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0700-shu-zu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0700-数组","array","0700",{"path":807,"stem":808,"title":809,"date":752,"chapterOrder":810,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":812,"stem":813,"title":814,"date":752,"chapterOrder":815,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0900-zhi-zhen","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0900-指针","pointer","0900",{"path":817,"stem":818,"title":819,"date":752,"chapterOrder":820,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":822,"stem":823,"title":824,"date":752,"chapterOrder":825,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":827,"stem":828,"title":829,"date":752,"chapterOrder":830,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1200-引用","reference","1200",{"path":832,"stem":833,"title":834,"date":752,"chapterOrder":835,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":837,"stem":838,"title":839,"date":752,"chapterOrder":840,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":842,"stem":843,"title":844,"date":752,"chapterOrder":845,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":847,"stem":848,"title":849,"date":752,"chapterOrder":850,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":852,"stem":853,"title":854,"date":752,"chapterOrder":855,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":857,"stem":858,"title":859,"date":752,"chapterOrder":860,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":862,"stem":863,"title":864,"date":752,"chapterOrder":865,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":867,"stem":868,"title":869,"date":752,"chapterOrder":870,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":872,"stem":873,"title":874,"date":752,"chapterOrder":875,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":877,"stem":878,"title":879,"date":752,"chapterOrder":880,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":882,"stem":883,"title":884,"date":752,"chapterOrder":885,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1700-mu-ban","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1700-模板","template","1700",{"path":887,"stem":888,"title":889,"date":752,"chapterOrder":890,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":892,"stem":893,"title":894,"date":752,"chapterOrder":895,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":897,"stem":898,"title":899,"date":752,"chapterOrder":900,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":902,"stem":903,"title":904,"date":752,"chapterOrder":905,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":907,"stem":908,"title":909,"date":752,"chapterOrder":910,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":912,"stem":913,"title":914,"date":752,"chapterOrder":915,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":917,"stem":918,"title":919,"date":752,"chapterOrder":920,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":922,"stem":923,"title":924,"date":752,"chapterOrder":925,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":927,"stem":928,"title":929,"date":752,"chapterOrder":930,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":932,"stem":933,"title":934,"date":752,"chapterOrder":935,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":937,"stem":938,"title":939,"date":752,"chapterOrder":940,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":942,"stem":943,"title":944,"date":752,"chapterOrder":945,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":947,"stem":948,"title":949,"date":752,"chapterOrder":950,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":952,"stem":953,"title":954,"date":752,"chapterOrder":955,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":957,"stem":958,"title":99,"date":752,"chapterOrder":959,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0100-auto","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0100-auto","2000-0100",{"path":961,"stem":962,"title":103,"date":752,"chapterOrder":963,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0200-nullptr","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0200-nullptr","2000-0200",{"path":965,"stem":966,"title":106,"date":752,"chapterOrder":967,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0300-using","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0300-using","2000-0300",{"path":969,"stem":970,"title":109,"date":752,"chapterOrder":971,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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","2000-0400",{"path":973,"stem":974,"title":975,"date":752,"chapterOrder":976,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":978,"stem":979,"title":980,"date":752,"chapterOrder":981,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":983,"stem":984,"title":123,"date":752,"chapterOrder":985,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0700-constexpr","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0700-constexpr","2000-0700",{"path":987,"stem":988,"title":989,"date":752,"chapterOrder":990,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":992,"stem":993,"title":994,"date":752,"chapterOrder":995,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":997,"stem":998,"title":999,"date":752,"chapterOrder":1000,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1002,"stem":1003,"title":1004,"date":752,"chapterOrder":1005,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1007,"stem":1008,"title":138,"date":752,"chapterOrder":1009,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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","2000-1200",{"path":1011,"stem":1012,"title":142,"date":752,"chapterOrder":1013,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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","2000-1300",{"path":1015,"stem":1016,"title":145,"date":752,"chapterOrder":1017,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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","2000-1400",{"path":1019,"stem":1020,"title":148,"date":752,"chapterOrder":1021,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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","2000-1500",{"path":1023,"stem":1024,"title":151,"date":752,"chapterOrder":1025,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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","2000-1600",{"path":1027,"stem":1028,"title":1029,"date":752,"chapterOrder":1030,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1032,"stem":1033,"title":171,"date":752,"chapterOrder":1034,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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","2000-1800",{"path":1036,"stem":1037,"title":1038,"date":752,"chapterOrder":1039,"chapterDepth":736,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1041,"stem":1042,"title":1043,"date":752,"chapterOrder":1044,"chapterDepth":736,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1046,"stem":1047,"title":1048,"date":752,"chapterOrder":1049,"chapterDepth":736,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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","std::atomic","2000-1900-0300",{"path":1051,"stem":1052,"title":1053,"date":752,"chapterOrder":1054,"chapterDepth":736,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1056,"stem":1057,"title":1058,"date":752,"chapterOrder":1059,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-并发编程","Concurrent programming","2000-1900",{"path":1061,"stem":1062,"title":175,"date":752,"chapterOrder":1063,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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","2000-2000",{"path":1065,"stem":1066,"title":1067,"date":752,"chapterOrder":1068,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":749,"stem":767,"title":5,"date":752,"chapterOrder":751,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},{"path":1071,"stem":1072,"title":1073,"date":752,"chapterOrder":1074,"chapterDepth":736,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1076,"stem":1077,"title":1078,"date":752,"chapterOrder":1079,"chapterDepth":736,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1081,"stem":1082,"title":1083,"date":752,"chapterOrder":1084,"chapterDepth":736,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1086,"stem":1087,"title":1088,"date":752,"chapterOrder":1089,"chapterDepth":736,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1091,"stem":1092,"title":1093,"date":752,"chapterOrder":1094,"chapterDepth":736,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1096,"stem":1097,"title":1098,"date":752,"chapterOrder":1099,"chapterDepth":736,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1101,"stem":1102,"title":1103,"date":752,"chapterOrder":1104,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1106,"stem":1107,"title":1108,"date":752,"chapterOrder":1109,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1111,"stem":1112,"title":1113,"date":752,"chapterOrder":1114,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1116,"stem":1117,"title":1118,"date":752,"chapterOrder":1119,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1121,"stem":1122,"title":1123,"date":752,"chapterOrder":1124,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1126,"stem":1127,"title":1128,"date":752,"chapterOrder":1129,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1131,"stem":1132,"title":1133,"date":752,"chapterOrder":1134,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1136,"stem":1137,"title":1138,"date":752,"chapterOrder":1139,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1141,"stem":1142,"title":1143,"date":752,"chapterOrder":1144,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1146,"stem":1147,"title":1148,"date":752,"chapterOrder":1149,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1151,"stem":1152,"title":1153,"date":752,"chapterOrder":1154,"chapterDepth":768,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":1156,"stem":1157,"title":1158,"date":752,"chapterOrder":1159,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":759},"\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":755,"stem":1161,"title":1162,"date":752,"chapterOrder":761,"chapterDepth":750,"docKey":754,"docRoot":755,"docTitle":756,"isWikiDoc":760,"isWikiIndex":760},"_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002Findex","C\u002FC++ tutorial",{"variants":1164},[1165,1166,1169,1172,1175],{"path":749,"localeSlug":763,"i18nKey":758},{"path":1167,"localeSlug":1168,"i18nKey":758},"\u002Fzh-hant\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c","zh-hant",{"path":1170,"localeSlug":1171,"i18nKey":758},"\u002Fzh-hk\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c","zh-hk",{"path":1173,"localeSlug":1174,"i18nKey":758},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c","zh-tw",{"path":1176,"localeSlug":1177,"i18nKey":758},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c","zh-cn",[749,766,1167,766,1170,766,1173,766,1176,766],1784646866720]