[{"data":1,"prerenderedAt":2229},["ShallowReactive",2],{"wiki-page-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi":3,"wiki-doc-items-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi":1813,"language-switcher-data-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi":2213,"wiki-i18n-paths-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi":2228},{"id":4,"title":5,"body":6,"canonicalPath":1794,"chapterDepth":1795,"chapterOrder":1796,"date":1797,"description":38,"docI18nKey":1798,"docKey":1799,"docRoot":1800,"docTitle":1801,"extension":1802,"i18nKey":1803,"isBlogPost":1804,"isWikiDoc":162,"isWikiIndex":1804,"layout":1805,"legacyPath":1805,"locale":1806,"localeSlug":1807,"meta":1808,"navigation":162,"path":1794,"seo":1809,"sourcePath":1810,"sourceStem":1803,"stem":1811,"wikiDepth":96,"__hash__":1812},"content\u002F_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0200-C++基础初识.md","C++ Basics",{"type":7,"value":8,"toc":1777},"minimark",[9,14,19,28,31,41,48,51,75,82,85,118,127,131,134,139,142,256,262,268,273,276,294,297,300,307,310,315,318,323,328,331,336,340,346,383,388,445,449,452,484,487,661,675,678,704,710,716,730,734,740,745,774,779,782,788,796,800,910,914,920,925,928,933,940,962,969,984,991,1010,1019,1047,1051,1199,1203,1209,1213,1219,1226,1229,1457,1462,1466,1471,1485,1490,1496,1499,1504,1547,1553,1557,1560,1563,1566,1577,1580,1686,1689,1693,1696,1720,1723,1728,1732,1739,1770,1773],[10,11,13],"h2",{"id":12},"introduction-to-c","Introduction to C++",[15,16,18],"h3",{"id":17},"chapter-operating-conventions","Chapter Operating Conventions",[20,21,22,23,27],"p",{},"The code examples in this chapter will run in the CMake template downloaded and set up from ",[24,25,26],"code",{},"ch1-C++开发环境与第一个工程",".",[20,29,30],{},"Starting from this chapter, early syntax practice will only involve modifying this file.",[32,33,39],"pre",{"className":34,"code":36,"language":37,"meta":38},[35],"language-text","src\u002Fmain.cpp\n","text","",[24,40,36],{"__ignoreMap":38},[20,42,43,44,47],{},"Each example allows you to copy the code into ",[24,45,46],{},"src\u002Fmain.cpp",", then rebuild and run the template program.",[20,49,50],{},"Do not modify these files and directories for now.",[52,53,54,60,65,70],"ol",{},[55,56,57],"li",{},[24,58,59],{},"CMakeLists.txt",[55,61,62],{},[24,63,64],{},"src\u002FCMakeLists.txt",[55,66,67],{},[24,68,69],{},"src\u002Flib1\u002F",[55,71,72],{},[24,73,74],{},"src\u002Flib2\u002F",[20,76,77,78,81],{},"No need to manually write ",[24,79,80],{},"g++ main.cpp",". Let's continue using the CMake template from the previous chapter to compile the program.",[20,83,84],{},"Common Commands:",[32,86,90],{"className":87,"code":88,"language":89,"meta":38,"style":38},"language-bash shiki shiki-themes github-light github-dark","cmake --build --preset linux-debug\n.\u002Fbuild\u002Flinux-debug\u002Fsrc\u002Fcmake_template\n","bash",[24,91,92,112],{"__ignoreMap":38},[93,94,97,101,105,108],"span",{"class":95,"line":96},"line",1,[93,98,100],{"class":99},"sScJk","cmake",[93,102,104],{"class":103},"sj4cs"," --build",[93,106,107],{"class":103}," --preset",[93,109,111],{"class":110},"sZZnC"," linux-debug\n",[93,113,115],{"class":95,"line":114},2,[93,116,117],{"class":99},".\u002Fbuild\u002Flinux-debug\u002Fsrc\u002Fcmake_template\n",[20,119,120,121,126],{},"If you haven't completed the project environment setup from the previous chapter, please start with the ",[122,123,125],"a",{"href":124},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0100-c-kai-fa-huan-jing-da-jian-yu-ce-shi","C++ Development Environment and First Project",". This tutorial consistently uses the same CMake template. At this point, your project structure should look approximately like this.",[15,128,130],{"id":129},"first-c-program","First C++ Program",[20,132,133],{},"Open in the project:",[32,135,137],{"className":136,"code":36,"language":37,"meta":38},[35],[24,138,36],{"__ignoreMap":38},[20,140,141],{},"It appears that your request is incomplete. Could you please provide the specific content you would like translated, or clarify what you need assistance with? I'm here to help with any translation or formatting tasks you may have.",[32,143,147],{"className":144,"code":145,"language":146,"meta":38,"style":38},"language-cpp shiki shiki-themes github-light github-dark","#include \u003Ciostream>\n\nusing namespace std;\n\nint main()\n{\n    \u002F\u002F 程序从 main 函数开始执行，下面的语句会按顺序运行。\n    cout \u003C\u003C \"Hello world\" \u003C\u003C endl;\n\n    \u002F\u002F 返回 0 表示程序正常结束。\n    return 0;\n}\n","cpp",[24,148,149,158,164,180,185,197,203,210,228,233,239,250],{"__ignoreMap":38},[93,150,151,155],{"class":95,"line":96},[93,152,154],{"class":153},"szBVR","#include",[93,156,157],{"class":110}," \u003Ciostream>\n",[93,159,160],{"class":95,"line":114},[93,161,163],{"emptyLinePlaceholder":162},true,"\n",[93,165,167,170,173,176],{"class":95,"line":166},3,[93,168,169],{"class":153},"using",[93,171,172],{"class":153}," namespace",[93,174,175],{"class":99}," std",[93,177,179],{"class":178},"sVt8B",";\n",[93,181,183],{"class":95,"line":182},4,[93,184,163],{"emptyLinePlaceholder":162},[93,186,188,191,194],{"class":95,"line":187},5,[93,189,190],{"class":153},"int",[93,192,193],{"class":99}," main",[93,195,196],{"class":178},"()\n",[93,198,200],{"class":95,"line":199},6,[93,201,202],{"class":178},"{\n",[93,204,206],{"class":95,"line":205},7,[93,207,209],{"class":208},"sJ8bj","    \u002F\u002F 程序从 main 函数开始执行，下面的语句会按顺序运行。\n",[93,211,213,216,219,222,225],{"class":95,"line":212},8,[93,214,215],{"class":178},"    cout ",[93,217,218],{"class":153},"\u003C\u003C",[93,220,221],{"class":110}," \"Hello world\"",[93,223,224],{"class":153}," \u003C\u003C",[93,226,227],{"class":178}," endl;\n",[93,229,231],{"class":95,"line":230},9,[93,232,163],{"emptyLinePlaceholder":162},[93,234,236],{"class":95,"line":235},10,[93,237,238],{"class":208},"    \u002F\u002F 返回 0 表示程序正常结束。\n",[93,240,242,245,248],{"class":95,"line":241},11,[93,243,244],{"class":153},"    return",[93,246,247],{"class":103}," 0",[93,249,179],{"class":178},[93,251,253],{"class":95,"line":252},12,[93,254,255],{"class":178},"}\n",[20,257,258],{},[259,260,261],"strong",{},"运行结果：",[32,263,266],{"className":264,"code":265,"language":37,"meta":38},[35],"Hello world\n",[24,267,265],{"__ignoreMap":38},[269,270,272],"h4",{"id":271},"build-and-run-program","Build and Run Program",[20,274,275],{},"Execute in the root directory of the project: (or you can directly use the graphical interface compilation from the previous section; I'll explain that again below)",[32,277,278],{"className":87,"code":88,"language":89,"meta":38,"style":38},[24,279,280,290],{"__ignoreMap":38},[93,281,282,284,286,288],{"class":95,"line":96},[93,283,100],{"class":99},[93,285,104],{"class":103},[93,287,107],{"class":103},[93,289,111],{"class":110},[93,291,292],{"class":95,"line":114},[93,293,117],{"class":99},[20,295,296],{},"Graphical steps:",[20,298,299],{},"Configure to build+debug mode:",[20,301,302],{},[303,304],"img",{"alt":305,"src":306},"alt text","https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780711946967.webp",[20,308,309],{},"Click on the Build button in the bottom left corner.",[20,311,312],{},[303,313],{"alt":305,"src":314},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780712055746.webp",[20,316,317],{},"Run",[20,319,320],{},[303,321],{"alt":305,"src":322},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780712071584.webp",[20,324,325],{},[303,326],{"alt":305,"src":327},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F10\u002F05\u002F1780712086586.webp",[20,329,330],{},"Terminal output",[32,332,334],{"className":333,"code":265,"language":37,"meta":38},[35],[24,335,265],{"__ignoreMap":38},[15,337,339],{"id":338},"the-parameters-of-the-main-function","The parameters of the main function",[20,341,342,345],{},[24,343,344],{},"main"," functions do not necessarily have to take parameters. The two most common ways to write them are:",[32,347,349],{"className":144,"code":348,"language":146,"meta":38,"style":38},"int main()\n{\n    \u002F\u002F 程序从 main 函数开始执行，下面的语句会按顺序运行。\n    \u002F\u002F 返回 0 表示程序正常结束。\n    return 0;\n}\n",[24,350,351,359,363,367,371,379],{"__ignoreMap":38},[93,352,353,355,357],{"class":95,"line":96},[93,354,190],{"class":153},[93,356,193],{"class":99},[93,358,196],{"class":178},[93,360,361],{"class":95,"line":114},[93,362,202],{"class":178},[93,364,365],{"class":95,"line":166},[93,366,209],{"class":208},[93,368,369],{"class":95,"line":182},[93,370,238],{"class":208},[93,372,373,375,377],{"class":95,"line":187},[93,374,244],{"class":153},[93,376,247],{"class":103},[93,378,179],{"class":178},[93,380,381],{"class":95,"line":199},[93,382,255],{"class":178},[20,384,385,387],{},[259,386,261],{}," 程序正常结束，终端没有输出。",[32,389,391],{"className":144,"code":390,"language":146,"meta":38,"style":38},"int main(int argc, char* argv[])\n{\n    \u002F\u002F 程序从 main 函数开始执行，argc\u002Fargv 用来接收命令行参数。\n    \u002F\u002F 返回 0 表示程序正常结束。\n    return 0;\n}\n",[24,392,393,420,424,429,433,441],{"__ignoreMap":38},[93,394,395,397,399,402,404,408,411,414,417],{"class":95,"line":96},[93,396,190],{"class":153},[93,398,193],{"class":99},[93,400,401],{"class":178},"(",[93,403,190],{"class":153},[93,405,407],{"class":406},"s4XuR"," argc",[93,409,410],{"class":178},", ",[93,412,413],{"class":153},"char*",[93,415,416],{"class":406}," argv",[93,418,419],{"class":178},"[])\n",[93,421,422],{"class":95,"line":114},[93,423,202],{"class":178},[93,425,426],{"class":95,"line":166},[93,427,428],{"class":208},"    \u002F\u002F 程序从 main 函数开始执行，argc\u002Fargv 用来接收命令行参数。\n",[93,430,431],{"class":95,"line":182},[93,432,238],{"class":208},[93,434,435,437,439],{"class":95,"line":187},[93,436,244],{"class":153},[93,438,247],{"class":103},[93,440,179],{"class":178},[93,442,443],{"class":95,"line":199},[93,444,255],{"class":178},[20,446,447,387],{},[259,448,261],{},[20,450,451],{},"Among them:",[453,454,455,461,474],"ul",{},[55,456,457,460],{},[24,458,459],{},"argc"," represents the number of command-line arguments, usually at least 1, because the program's own path is also counted as an argument.",[55,462,463,466,467,470,471,27],{},[24,464,465],{},"argv"," represents the command-line argument array, where ",[24,468,469],{},"argv[0]"," is typically the program's own path or name, and user-provided arguments start from ",[24,472,473],{},"argv[1]",[55,475,476,479,480,483],{},[24,477,478],{},"char* argv[]"," can also be written as ",[24,481,482],{},"char** argv","—both express the same meaning here.",[20,485,486],{},"Example:",[32,488,490],{"className":144,"code":489,"language":146,"meta":38,"style":38},"#include \u003Ciostream>\n\nusing namespace std;\n\nint main(int argc, char* argv[])\n{\n    \u002F\u002F 程序从 main 函数开始执行，argc\u002Fargv 用来接收命令行参数。\n\n    cout \u003C\u003C \"argc = \" \u003C\u003C argc \u003C\u003C endl;\n\n    for (int i = 0; i \u003C argc; i++) {\n        cout \u003C\u003C \"argv[\" \u003C\u003C i \u003C\u003C \"] = \" \u003C\u003C argv[i] \u003C\u003C endl;\n    }\n\n    \u002F\u002F 返回 0 表示程序正常结束。\n    return 0;\n}\n",[24,491,492,498,502,512,516,536,540,544,548,566,570,603,631,637,642,647,656],{"__ignoreMap":38},[93,493,494,496],{"class":95,"line":96},[93,495,154],{"class":153},[93,497,157],{"class":110},[93,499,500],{"class":95,"line":114},[93,501,163],{"emptyLinePlaceholder":162},[93,503,504,506,508,510],{"class":95,"line":166},[93,505,169],{"class":153},[93,507,172],{"class":153},[93,509,175],{"class":99},[93,511,179],{"class":178},[93,513,514],{"class":95,"line":182},[93,515,163],{"emptyLinePlaceholder":162},[93,517,518,520,522,524,526,528,530,532,534],{"class":95,"line":187},[93,519,190],{"class":153},[93,521,193],{"class":99},[93,523,401],{"class":178},[93,525,190],{"class":153},[93,527,407],{"class":406},[93,529,410],{"class":178},[93,531,413],{"class":153},[93,533,416],{"class":406},[93,535,419],{"class":178},[93,537,538],{"class":95,"line":199},[93,539,202],{"class":178},[93,541,542],{"class":95,"line":205},[93,543,428],{"class":208},[93,545,546],{"class":95,"line":212},[93,547,163],{"emptyLinePlaceholder":162},[93,549,550,552,554,557,559,562,564],{"class":95,"line":230},[93,551,215],{"class":178},[93,553,218],{"class":153},[93,555,556],{"class":110}," \"argc = \"",[93,558,224],{"class":153},[93,560,561],{"class":178}," argc ",[93,563,218],{"class":153},[93,565,227],{"class":178},[93,567,568],{"class":95,"line":235},[93,569,163],{"emptyLinePlaceholder":162},[93,571,572,575,578,580,583,586,588,591,594,597,600],{"class":95,"line":241},[93,573,574],{"class":153},"    for",[93,576,577],{"class":178}," (",[93,579,190],{"class":153},[93,581,582],{"class":178}," i ",[93,584,585],{"class":153},"=",[93,587,247],{"class":103},[93,589,590],{"class":178},"; i ",[93,592,593],{"class":153},"\u003C",[93,595,596],{"class":178}," argc; i",[93,598,599],{"class":153},"++",[93,601,602],{"class":178},") {\n",[93,604,605,608,610,613,615,617,619,622,624,627,629],{"class":95,"line":252},[93,606,607],{"class":178},"        cout ",[93,609,218],{"class":153},[93,611,612],{"class":110}," \"argv[\"",[93,614,224],{"class":153},[93,616,582],{"class":178},[93,618,218],{"class":153},[93,620,621],{"class":110}," \"] = \"",[93,623,224],{"class":153},[93,625,626],{"class":178}," argv[i] ",[93,628,218],{"class":153},[93,630,227],{"class":178},[93,632,634],{"class":95,"line":633},13,[93,635,636],{"class":178},"    }\n",[93,638,640],{"class":95,"line":639},14,[93,641,163],{"emptyLinePlaceholder":162},[93,643,645],{"class":95,"line":644},15,[93,646,238],{"class":208},[93,648,650,652,654],{"class":95,"line":649},16,[93,651,244],{"class":153},[93,653,247],{"class":103},[93,655,179],{"class":178},[93,657,659],{"class":95,"line":658},17,[93,660,255],{"class":178},[20,662,663,666,667,669,670,672,673,27],{},[259,664,665],{},"Run Results",": See \"Run Results\" below; ",[24,668,469],{}," will vary with the startup method, focus on observing the corresponding relationship between ",[24,671,459],{}," and each ",[24,674,465],{},[20,676,677],{},"Build and run passing command-line parameters:",[32,679,681],{"className":87,"code":680,"language":89,"meta":38,"style":38},"cmake --build --preset linux-debug\n.\u002Fbuild\u002Flinux-debug\u002Fsrc\u002Fcmake_template hello 123\n",[24,682,683,693],{"__ignoreMap":38},[93,684,685,687,689,691],{"class":95,"line":96},[93,686,100],{"class":99},[93,688,104],{"class":103},[93,690,107],{"class":103},[93,692,111],{"class":110},[93,694,695,698,701],{"class":95,"line":114},[93,696,697],{"class":99},".\u002Fbuild\u002Flinux-debug\u002Fsrc\u002Fcmake_template",[93,699,700],{"class":110}," hello",[93,702,703],{"class":103}," 123\n",[20,705,706,709],{},[259,707,708],{},"Results","：",[32,711,714],{"className":712,"code":713,"language":37,"meta":38},[35],"argc = 3\nargv[0] = .\u002Fbuild\u002Flinux-debug\u002Fsrc\u002Fcmake_template\nargv[1] = hello\nargv[2] = 123\n",[24,715,713],{"__ignoreMap":38},[717,718,719],"blockquote",{},[20,720,721,722,724,725,727,728,27],{},"Note: ",[24,723,469],{}," depends on the startup method—it could be ",[24,726,697],{}," or a full path. Typically, when processing parameters, user input is read starting from ",[24,729,473],{},[15,731,733],{"id":732},"annotation","Annotation",[20,735,736,739],{},[259,737,738],{},"Purpose",": Add explanations and annotations in the code to facilitate readability for yourself or other programmers.",[20,741,742],{},[259,743,744],{},"Two Formats",[52,746,747,761],{},[55,748,749,752,753,756],{},[259,750,751],{},"Single-line comment",": ",[24,754,755],{},"\u002F\u002F 描述信息",[453,757,758],{},[55,759,760],{},"Typically placed above a line of code or at the end of a statement, ==as a comment describing the code==.",[55,762,763,752,766,769],{},[259,764,765],{},"Multi-line comments",[24,767,768],{},"\u002F* 描述信息 *\u002F",[453,770,771],{},[55,772,773],{},"Usually placed above a block of code, ==as a general description of that code==.",[717,775,776],{},[20,777,778],{},"Note: The compiler ignores the contents of comments while compiling code.",[15,780,781],{"id":781},"variables",[20,783,784,787],{},[259,785,786],{},"Function",": Names a specific memory space to facilitate easier manipulation of that memory segment.",[20,789,790,752,793],{},[259,791,792],{},"Syntax",[24,794,795],{},"数据类型 变量名 = 初始值;",[20,797,798],{},[259,799,486],{},[32,801,803],{"className":144,"code":802,"language":146,"meta":38,"style":38},"#include\u003Ciostream>\nusing namespace std;\n\nint main() {\n\n    \u002F\u002F变量的定义\n    \u002F\u002F语法：数据类型  变量名 = 初始值\n\n    int a = 10;\n\n    cout \u003C\u003C \"a = \" \u003C\u003C a \u003C\u003C endl;\n    \n\n    return 0;\n}\n",[24,804,805,812,822,826,835,839,844,849,853,868,872,889,894,898,906],{"__ignoreMap":38},[93,806,807,809],{"class":95,"line":96},[93,808,154],{"class":153},[93,810,811],{"class":110},"\u003Ciostream>\n",[93,813,814,816,818,820],{"class":95,"line":114},[93,815,169],{"class":153},[93,817,172],{"class":153},[93,819,175],{"class":99},[93,821,179],{"class":178},[93,823,824],{"class":95,"line":166},[93,825,163],{"emptyLinePlaceholder":162},[93,827,828,830,832],{"class":95,"line":182},[93,829,190],{"class":153},[93,831,193],{"class":99},[93,833,834],{"class":178},"() {\n",[93,836,837],{"class":95,"line":187},[93,838,163],{"emptyLinePlaceholder":162},[93,840,841],{"class":95,"line":199},[93,842,843],{"class":208},"    \u002F\u002F变量的定义\n",[93,845,846],{"class":95,"line":205},[93,847,848],{"class":208},"    \u002F\u002F语法：数据类型  变量名 = 初始值\n",[93,850,851],{"class":95,"line":212},[93,852,163],{"emptyLinePlaceholder":162},[93,854,855,858,861,863,866],{"class":95,"line":230},[93,856,857],{"class":153},"    int",[93,859,860],{"class":178}," a ",[93,862,585],{"class":153},[93,864,865],{"class":103}," 10",[93,867,179],{"class":178},[93,869,870],{"class":95,"line":235},[93,871,163],{"emptyLinePlaceholder":162},[93,873,874,876,878,881,883,885,887],{"class":95,"line":241},[93,875,215],{"class":178},[93,877,218],{"class":153},[93,879,880],{"class":110}," \"a = \"",[93,882,224],{"class":153},[93,884,860],{"class":178},[93,886,218],{"class":153},[93,888,227],{"class":178},[93,890,891],{"class":95,"line":252},[93,892,893],{"class":178},"    \n",[93,895,896],{"class":95,"line":633},[93,897,163],{"emptyLinePlaceholder":162},[93,899,900,902,904],{"class":95,"line":639},[93,901,244],{"class":153},[93,903,247],{"class":103},[93,905,179],{"class":178},[93,907,908],{"class":95,"line":644},[93,909,255],{"class":178},[20,911,912],{},[259,913,261],{},[32,915,918],{"className":916,"code":917,"language":37,"meta":38},[35],"a = 10\n",[24,919,917],{"__ignoreMap":38},[717,921,922],{},[20,923,924],{},"Note: When creating variables in C++, you must assign them an initial value; otherwise, an error will be thrown.",[15,926,927],{"id":927},"constant",[20,929,930,932],{},[259,931,786],{},": Used to record unchangeable data in a program.",[20,934,935,936,939],{},"There are two primary ways to define constants in C++. The first is using the ",[24,937,938],{},"const"," keyword, which is type-safe and commonly preferred:",[32,941,943],{"className":144,"code":942,"language":146,"meta":38,"style":38},"const double PI = 3.14159;\n",[24,944,945],{"__ignoreMap":38},[93,946,947,949,952,955,957,960],{"class":95,"line":96},[93,948,938],{"class":153},[93,950,951],{"class":153}," double",[93,953,954],{"class":178}," PI ",[93,956,585],{"class":153},[93,958,959],{"class":103}," 3.14159",[93,961,179],{"class":178},[20,963,964,965,968],{},"The second method uses the preprocessor directive ",[24,966,967],{},"#define",", inherited from C, which does not respect scope or type:",[32,970,972],{"className":144,"code":971,"language":146,"meta":38,"style":38},"#define PI 3.14159\n",[24,973,974],{"__ignoreMap":38},[93,975,976,978,981],{"class":95,"line":96},[93,977,967],{"class":153},[93,979,980],{"class":99}," PI",[93,982,983],{"class":103}," 3.14159\n",[20,985,986,987,990],{},"In modern C++, a third option, ",[24,988,989],{},"constexpr",", is also available for compile-time constants:",[32,992,994],{"className":144,"code":993,"language":146,"meta":38,"style":38},"constexpr double PI = 3.14159;\n",[24,995,996],{"__ignoreMap":38},[93,997,998,1000,1002,1004,1006,1008],{"class":95,"line":96},[93,999,989],{"class":153},[93,1001,951],{"class":153},[93,1003,954],{"class":178},[93,1005,585],{"class":153},[93,1007,959],{"class":103},[93,1009,179],{"class":178},[20,1011,1012,1013,1015,1016,1018],{},"The ",[24,1014,938],{}," and ",[24,1017,989],{}," methods are generally recommended for better type safety and debugging.",[52,1020,1021,1034],{},[55,1022,1023,1025,1026,1029],{},[259,1024,967],{}," macro constant: ",[24,1027,1028],{},"#define 常量名 常量值",[453,1030,1031],{},[55,1032,1033],{},"==Typically defined at the top of the file==, represents a constant",[55,1035,1036,1038,1039,1042],{},[259,1037,938],{}," modified variable ",[24,1040,1041],{},"const 数据类型 常量名 = 常量值",[453,1043,1044],{},[55,1045,1046],{},"==Typically add the const keyword before the variable definition==, to modify the variable as a constant, unmodifiable",[20,1048,1049],{},[259,1050,486],{},[32,1052,1054],{"className":144,"code":1053,"language":146,"meta":38,"style":38},"\u002F\u002F1、宏常量\n#define day 7\n\nint main() {\n\n    cout \u003C\u003C \"一周里总共有 \" \u003C\u003C day \u003C\u003C \" 天\" \u003C\u003C endl;\n    \u002F\u002Fday = 8;  \u002F\u002F报错，宏常量不可以修改\n\n    \u002F\u002F2、const修饰变量\n    const int month = 12;\n    cout \u003C\u003C \"一年里总共有 \" \u003C\u003C month \u003C\u003C \" 个月份\" \u003C\u003C endl;\n    \u002F\u002Fmonth = 24; \u002F\u002F报错，常量是不可以修改的\n    \n    \n\n    return 0;\n}\n",[24,1055,1056,1061,1071,1075,1083,1087,1110,1118,1122,1127,1145,1167,1175,1179,1183,1187,1195],{"__ignoreMap":38},[93,1057,1058],{"class":95,"line":96},[93,1059,1060],{"class":208},"\u002F\u002F1、宏常量\n",[93,1062,1063,1065,1068],{"class":95,"line":114},[93,1064,967],{"class":153},[93,1066,1067],{"class":99}," day",[93,1069,1070],{"class":103}," 7\n",[93,1072,1073],{"class":95,"line":166},[93,1074,163],{"emptyLinePlaceholder":162},[93,1076,1077,1079,1081],{"class":95,"line":182},[93,1078,190],{"class":153},[93,1080,193],{"class":99},[93,1082,834],{"class":178},[93,1084,1085],{"class":95,"line":187},[93,1086,163],{"emptyLinePlaceholder":162},[93,1088,1089,1091,1093,1096,1098,1101,1103,1106,1108],{"class":95,"line":199},[93,1090,215],{"class":178},[93,1092,218],{"class":153},[93,1094,1095],{"class":110}," \"一周里总共有 \"",[93,1097,224],{"class":153},[93,1099,1100],{"class":178}," day ",[93,1102,218],{"class":153},[93,1104,1105],{"class":110}," \" 天\"",[93,1107,224],{"class":153},[93,1109,227],{"class":178},[93,1111,1112,1115],{"class":95,"line":205},[93,1113,1114],{"class":208},"    \u002F\u002Fday = 8;",[93,1116,1117],{"class":208},"  \u002F\u002F报错，宏常量不可以修改\n",[93,1119,1120],{"class":95,"line":212},[93,1121,163],{"emptyLinePlaceholder":162},[93,1123,1124],{"class":95,"line":230},[93,1125,1126],{"class":208},"    \u002F\u002F2、const修饰变量\n",[93,1128,1129,1132,1135,1138,1140,1143],{"class":95,"line":235},[93,1130,1131],{"class":153},"    const",[93,1133,1134],{"class":153}," int",[93,1136,1137],{"class":178}," month ",[93,1139,585],{"class":153},[93,1141,1142],{"class":103}," 12",[93,1144,179],{"class":178},[93,1146,1147,1149,1151,1154,1156,1158,1160,1163,1165],{"class":95,"line":241},[93,1148,215],{"class":178},[93,1150,218],{"class":153},[93,1152,1153],{"class":110}," \"一年里总共有 \"",[93,1155,224],{"class":153},[93,1157,1137],{"class":178},[93,1159,218],{"class":153},[93,1161,1162],{"class":110}," \" 个月份\"",[93,1164,224],{"class":153},[93,1166,227],{"class":178},[93,1168,1169,1172],{"class":95,"line":252},[93,1170,1171],{"class":208},"    \u002F\u002Fmonth = 24;",[93,1173,1174],{"class":208}," \u002F\u002F报错，常量是不可以修改的\n",[93,1176,1177],{"class":95,"line":633},[93,1178,893],{"class":178},[93,1180,1181],{"class":95,"line":639},[93,1182,893],{"class":178},[93,1184,1185],{"class":95,"line":644},[93,1186,163],{"emptyLinePlaceholder":162},[93,1188,1189,1191,1193],{"class":95,"line":649},[93,1190,244],{"class":153},[93,1192,247],{"class":103},[93,1194,179],{"class":178},[93,1196,1197],{"class":95,"line":658},[93,1198,255],{"class":178},[20,1200,1201],{},[259,1202,261],{},[32,1204,1207],{"className":1205,"code":1206,"language":37,"meta":38},[35],"一周里总共有 7 天\n一年里总共有 12 个月份\n",[24,1208,1206],{"__ignoreMap":38},[15,1210,1212],{"id":1211},"keywords","Keywords",[20,1214,1215,1218],{},[259,1216,1217],{},"Purpose:"," Keywords are predefined reserved words (identifiers) in C++",[453,1220,1221],{},[55,1222,1223],{},[259,1224,1225],{},"When defining variables or constants, do not use keywords.",[20,1227,1228],{},"The C++ keywords are as follows:",[1230,1231,1232,1254],"table",{},[1233,1234,1235],"thead",{},[1236,1237,1238,1242,1245,1248,1251],"tr",{},[1239,1240,1241],"th",{},"asm",[1239,1243,1244],{},"do",[1239,1246,1247],{},"if",[1239,1249,1250],{},"return",[1239,1252,1253],{},"typedef",[1255,1256,1257,1275,1291,1308,1325,1341,1358,1375,1391,1408,1425,1441],"tbody",{},[1236,1258,1259,1263,1266,1269,1272],{},[1260,1261,1262],"td",{},"auto",[1260,1264,1265],{},"double",[1260,1267,1268],{},"inline",[1260,1270,1271],{},"short",[1260,1273,1274],{},"typeid",[1236,1276,1277,1280,1283,1285,1288],{},[1260,1278,1279],{},"bool",[1260,1281,1282],{},"dynamic_cast",[1260,1284,190],{},[1260,1286,1287],{},"signed",[1260,1289,1290],{},"typename",[1236,1292,1293,1296,1299,1302,1305],{},[1260,1294,1295],{},"break",[1260,1297,1298],{},"else",[1260,1300,1301],{},"long",[1260,1303,1304],{},"sizeof",[1260,1306,1307],{},"union",[1236,1309,1310,1313,1316,1319,1322],{},[1260,1311,1312],{},"case",[1260,1314,1315],{},"enum",[1260,1317,1318],{},"mutable",[1260,1320,1321],{},"static",[1260,1323,1324],{},"unsigned",[1236,1326,1327,1330,1333,1336,1339],{},[1260,1328,1329],{},"catch",[1260,1331,1332],{},"explicit",[1260,1334,1335],{},"namespace",[1260,1337,1338],{},"static_cast",[1260,1340,169],{},[1236,1342,1343,1346,1349,1352,1355],{},[1260,1344,1345],{},"char",[1260,1347,1348],{},"export",[1260,1350,1351],{},"new",[1260,1353,1354],{},"struct",[1260,1356,1357],{},"virtual",[1236,1359,1360,1363,1366,1369,1372],{},[1260,1361,1362],{},"class",[1260,1364,1365],{},"extern",[1260,1367,1368],{},"operator",[1260,1370,1371],{},"switch",[1260,1373,1374],{},"void",[1236,1376,1377,1379,1382,1385,1388],{},[1260,1378,938],{},[1260,1380,1381],{},"false",[1260,1383,1384],{},"private",[1260,1386,1387],{},"template",[1260,1389,1390],{},"volatile",[1236,1392,1393,1396,1399,1402,1405],{},[1260,1394,1395],{},"const_cast",[1260,1397,1398],{},"float",[1260,1400,1401],{},"protected",[1260,1403,1404],{},"this",[1260,1406,1407],{},"wchar_t",[1236,1409,1410,1413,1416,1419,1422],{},[1260,1411,1412],{},"continue",[1260,1414,1415],{},"for",[1260,1417,1418],{},"public",[1260,1420,1421],{},"throw",[1260,1423,1424],{},"while",[1236,1426,1427,1430,1433,1436,1439],{},[1260,1428,1429],{},"default",[1260,1431,1432],{},"friend",[1260,1434,1435],{},"register",[1260,1437,1438],{},"true",[1260,1440],{},[1236,1442,1443,1446,1449,1452,1455],{},[1260,1444,1445],{},"delete",[1260,1447,1448],{},"goto",[1260,1450,1451],{},"reinterpret_cast",[1260,1453,1454],{},"try",[1260,1456],{},[20,1458,1459],{},[24,1460,1461],{},"提示：在给变量或者常量起名称时候，不要用C++得关键字，否则会产生歧义。",[15,1463,1465],{"id":1464},"identifier-naming-rules","Identifier Naming Rules",[20,1467,1468,1470],{},[259,1469,738],{},": C++ has its own set of rules for naming identifiers (variables and constants).",[453,1472,1473,1476,1479,1482],{},[55,1474,1475],{},"An identifier cannot be a keyword.",[55,1477,1478],{},"Identifiers can only consist of letters, numbers, and underscores.",[55,1480,1481],{},"The first character must be a letter or underscore",[55,1483,1484],{},"Identifiers are case-sensitive.",[717,1486,1487],{},[20,1488,1489],{},"Suggestion: When naming identifiers, aim for intuitively clear names to facilitate reading for yourself and others.",[10,1491,1493],{"id":1492},"the-relationship-between-c-and-c-and-the-learning-path",[259,1494,1495],{},"The Relationship Between C and C++ and the Learning Path",[20,1497,1498],{},"C++ evolved from C, retaining much of C's syntax and low-level memory manipulation capabilities. C++ extends C with object-oriented programming (OOP), templates, the Standard Template Library (STL), and numerous other features, making it suitable for more complex and large-scale software development.",[20,1500,1501],{},[259,1502,1503],{},"Suggested Learning Path:",[52,1505,1506,1512,1541],{},[55,1507,1508,1511],{},[259,1509,1510],{},"Start with C Fundamentals:"," Master core concepts like variables, data types, control flow (loops, conditionals), functions, arrays, pointers, and dynamic memory management.",[55,1513,1514,1517,1518],{},[259,1515,1516],{},"Transition to C++:"," Learn C++ by building on your C knowledge. Focus on key differentiators:\n",[453,1519,1520,1526,1535],{},[55,1521,1522,1525],{},[259,1523,1524],{},"OOP Principles:"," Classes, objects, inheritance, polymorphism, and encapsulation.",[55,1527,1528,1531,1532,1534],{},[259,1529,1530],{},"Modern C++ Features:"," Start with ",[24,1533,1262],{},", range-based for loops, and smart pointers, then progress to move semantics and lambda expressions.",[55,1536,1537,1540],{},[259,1538,1539],{},"STL:"," Become proficient with containers (vector, map, list), algorithms, and iterators.",[55,1542,1543,1546],{},[259,1544,1545],{},"Advanced Topics & Practice:"," Deepen your understanding of templates, exception handling, multi-threading, and best practices. Apply your knowledge by working on projects that solve real problems.",[20,1548,1549,1552],{},[259,1550,1551],{},"Key Takeaway:"," While you can learn C++ directly, having a solid foundation in C provides a deeper understanding of how computers work at a lower level, which is invaluable for systems programming, performance-critical applications, and embedded development.",[15,1554,1556],{"id":1555},"c-是一种通用的编程语言以其简洁和高效著称广泛用于系统软件嵌入式系统和高性能应用开发c-是在-c-的基础上发展而来支持面向对象编程等高级特性常用于软件开发游戏引擎和系统软件等领域","C 是一种通用的编程语言，以其简洁和高效著称，广泛用于系统软件、嵌入式系统和高性能应用开发。C++ 是在 C 的基础上发展而来，支持面向对象编程等高级特性，常用于软件开发、游戏引擎和系统软件等领域。",[20,1558,1559],{},"C and C++ are both general-purpose compiled programming languages. Besides these, common programming languages like Rust, Go, Swift, and Fortran are also compiled languages.\nAlso Python, Rust, Go, C# (pronounced C Sharp), Java, and JavaScript;\nShell is mainly used for writing command-line and system administration scripts.",[20,1561,1562],{},"C++ was initially developed from C, so the two share similarities in basic syntax, operators, flow control,\nFunctions and pointers share many similarities. In technical documentation and toolchains that address both,\nIn job descriptions, people often use \"C\u002FC++\" as a combined term.",[20,1564,1565],{},"However, C and C++ are now two languages with independently set standards and evolved separately, so they cannot be oversimplified.\nfor two versions of the same language:",[52,1567,1568,1571,1574],{},[55,1569,1570],{},"C++ is not \"fully compatible with C\". Most simple C code can be migrated fairly easily to\nC++, but there is still some valid C code that cannot be compiled directly as C++.",[55,1572,1573],{},"C++ is not just \"C with classes\". Modern C++ also includes templates, RAII, exceptions...\nLambda, smart pointers, concurrency support, and a rich standard library.",[55,1575,1576],{},"C is not an outdated language replaced by C++. Operating systems, embedded development, drivers, ...\nC is still widely used in low-level libraries and cross-language interfaces.",[20,1578,1579],{},"Therefore, C and C++ share a common foundation but have their own suitable programming approaches. Learning one of these\nIt certainly helps in understanding another language, but when writing C++, one shouldn't just blindly replicate C-style code.",[1230,1581,1582,1596],{},[1233,1583,1584],{},[1236,1585,1586,1590,1593],{},[1239,1587,1589],{"align":1588},"left","Features",[1239,1591,1592],{"align":1588},"C language",[1239,1594,1595],{"align":1588},"C++ language",[1255,1597,1598,1609,1620,1631,1642,1653,1664,1675],{},[1236,1599,1600,1603,1606],{},[1260,1601,1602],{"align":1588},"Language localization",[1260,1604,1605],{"align":1588},"Compact and focused, emphasizing direct low-level operations.",[1260,1607,1608],{"align":1588},"More features, supporting abstraction from low-level to high-level.",[1236,1610,1611,1614,1617],{},[1260,1612,1613],{"align":1588},"Programming paradigm",[1260,1615,1616],{"align":1588},"Primarily employs procedural programming.",[1260,1618,1619],{"align":1588},"Multi-paradigm: procedural, object-oriented, generic, functional, etc.",[1236,1621,1622,1625,1628],{},[1260,1623,1624],{"align":1588},"Resource management",[1260,1626,1627],{"align":1588},"Manual handling of resource allocation and release",[1260,1629,1630],{"align":1588},"Manual management is supported, but RAII and smart pointers are recommended.",[1236,1632,1633,1636,1639],{},[1260,1634,1635],{"align":1588},"Abstraction and Reuse",[1260,1637,1638],{"align":1588},"Functions, Structures, Macros, and Modular Files",[1260,1640,1641],{"align":1588},"functions, classes, templates, generic algorithms, and standard libraries",[1236,1643,1644,1647,1650],{},[1260,1645,1646],{"align":1588},"Standard library",[1260,1648,1649],{"align":1588},"C standard library",[1260,1651,1652],{"align":1588},"The C++ standard library also provides support for most C standard library functions.",[1236,1654,1655,1658,1661],{},[1260,1656,1657],{"align":1588},"type system",[1260,1659,1660],{"align":1588},"Relatively simple, some implicit conversions are lenient.",[1260,1662,1663],{"align":1588},"The type system is more feature-rich and typically offers stricter checks.",[1236,1665,1666,1669,1672],{},[1260,1667,1668],{"align":1588},"Operational efficiency",[1260,1670,1671],{"align":1588},"Suitable for high-performance and low-level development.",[1260,1673,1674],{"align":1588},"Equally suitable for high-performance development, reasonable abstraction typically incurs no additional overhead.",[1236,1676,1677,1680,1683],{},[1260,1678,1679],{"align":1588},"Common scenarios",[1260,1681,1682],{"align":1588},"Embedded systems, operating systems, drivers, low-level libraries",[1260,1684,1685],{"align":1588},"games, graphics, robots, desktop software, infrastructure, and high-performance computing",[20,1687,1688],{},"Application scenarios in the table are not rigid boundaries. For example, embedded systems can also use C++, and large\nApplications may also contain C modules. Ultimately, the choice of language depends on project requirements, runtime environment,\nexisting ecosystem and team experience.",[15,1690,1692],{"id":1691},"should-you-learn-c-first-or-jump-straight-into-c","Should you learn C first or jump straight into C++?",[20,1694,1695],{},"Learning C++ doesn't require you to fully complete C first. For readers of this tutorial, it's recommended to follow the C++ approach directly as suggested.\nRoute Learning:",[52,1697,1698,1701,1704,1714,1717],{},[55,1699,1700],{},"First, master variables, branching, loops, functions, arrays, and basic input\u002Foutput.",[55,1702,1703],{},"Then continue learning about references, pointers, structs, classes, and objects.",[55,1705,1706,1707,410,1710,1713],{},"Continue learning ",[24,1708,1709],{},"std::string",[24,1711,1712],{},"std::vector",", iterators, and common algorithms.",[55,1715,1716],{},"Then understand RAII, smart pointers, templates, Lambda, and exception handling.",[55,1718,1719],{},"Finally, complete a real-world project using CMake, debuggers, unit tests, and third-party libraries.",[20,1721,1722],{},"If later there is a need for embedded, operating system, driver, or pure C project development, then systematically supplement C.\nArrays and pointers in the language, memory layout, structs, preprocessors, and manual resource management will be more...\npertinence",[717,1724,1725],{},[20,1726,1727],{},"This tutorial primarily focuses on C++. When encountering syntax common to the C language, we will briefly explain it, but the examples will\nAdopt modern C++ practices instead of treating C++ as merely an extension of C.",[15,1729,1731],{"id":1730},"supplementary-learning-resources","Supplementary Learning Resources",[20,1733,1734,1735,1738],{},"This tutorial is mainly designed to organize knowledge points, the engineering environment, and common issues that are frequently encountered during practice. Beginners also ",[259,1736,1737],{},"I18N_PROTECTED_0","\nCan be learned in combination with the following videos or documents.",[52,1740,1741,1749,1756,1763],{},[55,1742,1743],{},[122,1744,1748],{"href":1745,"rel":1746},"https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1et411b73Z",[1747],"nofollow","C++ Video Tutorial",[55,1750,1751],{},[122,1752,1755],{"href":1753,"rel":1754},"https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1cq4y1U7sg",[1747],"Peng Ge C programming video",[55,1757,1758],{},[122,1759,1762],{"href":1760,"rel":1761},"https:\u002F\u002Fwww.runoob.com\u002Fcprogramming\u002Fc-tutorial.html",[1747],"TutorialsPoint: C Tutorial",[55,1764,1765],{},[122,1766,1769],{"href":1767,"rel":1768},"https:\u002F\u002Fwww.runoob.com\u002Fcplusplus\u002Fcpp-tutorial.html",[1747],"Tutorials: C++ Tutorial",[20,1771,1772],{},"Different references may use varying C++ standards and coding styles. When learning syntax, you can refer to multiple.\nSources may vary, but within this tutorial project, follow the C++ coding style and CMake configuration presented in the current chapter.",[1774,1775,1776],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":38,"searchDepth":114,"depth":114,"links":1778},[1779,1789],{"id":12,"depth":114,"text":13,"children":1780},[1781,1782,1783,1784,1785,1786,1787,1788],{"id":17,"depth":166,"text":18},{"id":129,"depth":166,"text":130},{"id":338,"depth":166,"text":339},{"id":732,"depth":166,"text":733},{"id":781,"depth":166,"text":781},{"id":927,"depth":166,"text":927},{"id":1211,"depth":166,"text":1212},{"id":1464,"depth":166,"text":1465},{"id":1492,"depth":114,"text":1495,"children":1790},[1791,1792,1793],{"id":1555,"depth":166,"text":1556},{"id":1691,"depth":166,"text":1692},{"id":1730,"depth":166,"text":1731},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi",0,"0200","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教学\u002F0200-C++基础初识",false,null,"en-US","en-us",{},{"title":5,"description":38},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0200-C++基础初识","6MFxTBDRSQ49x4aM-vc0EIW68m8Si3Jjr6ucOnolD9w",[1814,1819,1820,1825,1830,1834,1839,1844,1849,1854,1859,1864,1869,1874,1879,1884,1889,1894,1899,1904,1909,1914,1919,1923,1928,1933,1938,1943,1948,1953,1958,1963,1968,1973,1978,1983,1988,1993,1997,2002,2006,2011,2016,2021,2025,2030,2035,2040,2045,2050,2055,2060,2065,2070,2075,2080,2085,2090,2095,2100,2105,2110,2115,2120,2125,2130,2135,2140,2145,2150,2155,2160,2165,2170,2175,2180,2185,2190,2195,2200,2205,2210],{"path":1815,"stem":1816,"title":1817,"date":1797,"chapterOrder":1818,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1794,"stem":1811,"title":5,"date":1797,"chapterOrder":1796,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},{"path":1821,"stem":1822,"title":1823,"date":1797,"chapterOrder":1824,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1826,"stem":1827,"title":1828,"date":1797,"chapterOrder":1829,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1831,"stem":1832,"title":1368,"date":1797,"chapterOrder":1833,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0500-yun-suan-fu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0500-运算符","0500",{"path":1835,"stem":1836,"title":1837,"date":1797,"chapterOrder":1838,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1840,"stem":1841,"title":1842,"date":1797,"chapterOrder":1843,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0700-shu-zu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0700-数组","array","0700",{"path":1845,"stem":1846,"title":1847,"date":1797,"chapterOrder":1848,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1850,"stem":1851,"title":1852,"date":1797,"chapterOrder":1853,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0900-zhi-zhen","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0900-指针","pointer","0900",{"path":1855,"stem":1856,"title":1857,"date":1797,"chapterOrder":1858,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1860,"stem":1861,"title":1862,"date":1797,"chapterOrder":1863,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1865,"stem":1866,"title":1867,"date":1797,"chapterOrder":1868,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1200-引用","reference","1200",{"path":1870,"stem":1871,"title":1872,"date":1797,"chapterOrder":1873,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1875,"stem":1876,"title":1877,"date":1797,"chapterOrder":1878,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1880,"stem":1881,"title":1882,"date":1797,"chapterOrder":1883,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1885,"stem":1886,"title":1887,"date":1797,"chapterOrder":1888,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1890,"stem":1891,"title":1892,"date":1797,"chapterOrder":1893,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1895,"stem":1896,"title":1897,"date":1797,"chapterOrder":1898,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1900,"stem":1901,"title":1902,"date":1797,"chapterOrder":1903,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1905,"stem":1906,"title":1907,"date":1797,"chapterOrder":1908,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1910,"stem":1911,"title":1912,"date":1797,"chapterOrder":1913,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1915,"stem":1916,"title":1917,"date":1797,"chapterOrder":1918,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1920,"stem":1921,"title":1387,"date":1797,"chapterOrder":1922,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1700-mu-ban","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1700-模板","1700",{"path":1924,"stem":1925,"title":1926,"date":1797,"chapterOrder":1927,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1929,"stem":1930,"title":1931,"date":1797,"chapterOrder":1932,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1934,"stem":1935,"title":1936,"date":1797,"chapterOrder":1937,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1939,"stem":1940,"title":1941,"date":1797,"chapterOrder":1942,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1944,"stem":1945,"title":1946,"date":1797,"chapterOrder":1947,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1949,"stem":1950,"title":1951,"date":1797,"chapterOrder":1952,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1954,"stem":1955,"title":1956,"date":1797,"chapterOrder":1957,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1959,"stem":1960,"title":1961,"date":1797,"chapterOrder":1962,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1964,"stem":1965,"title":1966,"date":1797,"chapterOrder":1967,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1969,"stem":1970,"title":1971,"date":1797,"chapterOrder":1972,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1974,"stem":1975,"title":1976,"date":1797,"chapterOrder":1977,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1979,"stem":1980,"title":1981,"date":1797,"chapterOrder":1982,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1984,"stem":1985,"title":1986,"date":1797,"chapterOrder":1987,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1989,"stem":1990,"title":1991,"date":1797,"chapterOrder":1992,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1994,"stem":1995,"title":1262,"date":1797,"chapterOrder":1996,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1998,"stem":1999,"title":2000,"date":1797,"chapterOrder":2001,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2003,"stem":2004,"title":169,"date":1797,"chapterOrder":2005,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2007,"stem":2008,"title":2009,"date":1797,"chapterOrder":2010,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2012,"stem":2013,"title":2014,"date":1797,"chapterOrder":2015,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2017,"stem":2018,"title":2019,"date":1797,"chapterOrder":2020,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2022,"stem":2023,"title":989,"date":1797,"chapterOrder":2024,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2026,"stem":2027,"title":2028,"date":1797,"chapterOrder":2029,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2031,"stem":2032,"title":2033,"date":1797,"chapterOrder":2034,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2036,"stem":2037,"title":2038,"date":1797,"chapterOrder":2039,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2041,"stem":2042,"title":2043,"date":1797,"chapterOrder":2044,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2046,"stem":2047,"title":2048,"date":1797,"chapterOrder":2049,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2051,"stem":2052,"title":2053,"date":1797,"chapterOrder":2054,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2056,"stem":2057,"title":2058,"date":1797,"chapterOrder":2059,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2061,"stem":2062,"title":2063,"date":1797,"chapterOrder":2064,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2066,"stem":2067,"title":2068,"date":1797,"chapterOrder":2069,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2071,"stem":2072,"title":2073,"date":1797,"chapterOrder":2074,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2076,"stem":2077,"title":2078,"date":1797,"chapterOrder":2079,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2081,"stem":2082,"title":2083,"date":1797,"chapterOrder":2084,"chapterDepth":114,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2086,"stem":2087,"title":2088,"date":1797,"chapterOrder":2089,"chapterDepth":114,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2091,"stem":2092,"title":2093,"date":1797,"chapterOrder":2094,"chapterDepth":114,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2096,"stem":2097,"title":2098,"date":1797,"chapterOrder":2099,"chapterDepth":114,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2101,"stem":2102,"title":2103,"date":1797,"chapterOrder":2104,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2106,"stem":2107,"title":2108,"date":1797,"chapterOrder":2109,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2111,"stem":2112,"title":2113,"date":1797,"chapterOrder":2114,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2116,"stem":2117,"title":2118,"date":1797,"chapterOrder":2119,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2121,"stem":2122,"title":2123,"date":1797,"chapterOrder":2124,"chapterDepth":114,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2126,"stem":2127,"title":2128,"date":1797,"chapterOrder":2129,"chapterDepth":114,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2131,"stem":2132,"title":2133,"date":1797,"chapterOrder":2134,"chapterDepth":114,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2136,"stem":2137,"title":2138,"date":1797,"chapterOrder":2139,"chapterDepth":114,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2141,"stem":2142,"title":2143,"date":1797,"chapterOrder":2144,"chapterDepth":114,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2146,"stem":2147,"title":2148,"date":1797,"chapterOrder":2149,"chapterDepth":114,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2151,"stem":2152,"title":2153,"date":1797,"chapterOrder":2154,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2156,"stem":2157,"title":2158,"date":1797,"chapterOrder":2159,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2161,"stem":2162,"title":2163,"date":1797,"chapterOrder":2164,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2166,"stem":2167,"title":2168,"date":1797,"chapterOrder":2169,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2171,"stem":2172,"title":2173,"date":1797,"chapterOrder":2174,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2176,"stem":2177,"title":2178,"date":1797,"chapterOrder":2179,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2181,"stem":2182,"title":2183,"date":1797,"chapterOrder":2184,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2186,"stem":2187,"title":2188,"date":1797,"chapterOrder":2189,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2191,"stem":2192,"title":2193,"date":1797,"chapterOrder":2194,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2196,"stem":2197,"title":2198,"date":1797,"chapterOrder":2199,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2201,"stem":2202,"title":2203,"date":1797,"chapterOrder":2204,"chapterDepth":96,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":2206,"stem":2207,"title":2208,"date":1797,"chapterOrder":2209,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":1804},"\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":1800,"stem":2211,"title":2212,"date":1797,"chapterOrder":1805,"chapterDepth":1795,"docKey":1799,"docRoot":1800,"docTitle":1801,"isWikiDoc":162,"isWikiIndex":162},"_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002Findex","C\u002FC++ tutorial",{"variants":2214},[2215,2216,2219,2222,2225],{"path":1794,"localeSlug":1807,"i18nKey":1803},{"path":2217,"localeSlug":2218,"i18nKey":1803},"\u002Fzh-hant\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi","zh-hant",{"path":2220,"localeSlug":2221,"i18nKey":1803},"\u002Fzh-hk\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi","zh-hk",{"path":2223,"localeSlug":2224,"i18nKey":1803},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi","zh-tw",{"path":2226,"localeSlug":2227,"i18nKey":1803},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi","zh-cn",[1794,1810,2217,1810,2220,1810,2223,1810,2226,1810],1784646861253]