[{"data":1,"prerenderedAt":2040},["ShallowReactive",2],{"wiki-page-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong":3,"wiki-doc-items-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong":1619,"language-switcher-data-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong":2024,"wiki-i18n-paths-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong":2039},{"id":4,"title":5,"body":6,"canonicalPath":1600,"chapterDepth":1601,"chapterOrder":1602,"date":1603,"description":43,"docI18nKey":1604,"docKey":1605,"docRoot":1606,"docTitle":1607,"extension":1608,"i18nKey":1609,"isBlogPost":1610,"isWikiDoc":75,"isWikiIndex":1610,"layout":1611,"legacyPath":1611,"locale":1612,"localeSlug":1613,"meta":1614,"navigation":75,"path":1600,"seo":1615,"sourcePath":1616,"sourceStem":1609,"stem":1617,"wikiDepth":50,"__hash__":1618},"content\u002F_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1200-引用.md","reference",{"type":7,"value":8,"toc":1590},"minimark",[9,12,17,21,32,37,249,254,262,266,276,278,432,436,442,446,452,458,462,868,872,878,884,888,891,897,900,904,1192,1201,1204,1208,1214,1217,1378,1382,1388,1391,1395,1400,1407,1411,1576,1580,1586],[10,11,5],"h2",{"id":5},[13,14,16],"h3",{"id":15},"basic-usage-of-citations","Basic usage of citations",[18,19,20],"p",{},"**作用： **to alias a variable",[18,22,23,27,28],{},[24,25,26],"strong",{},"Syntax:"," ",[29,30,31],"code",{},"数据类型 &别名 = 原名",[18,33,34],{},[24,35,36],{},"Example:",[38,39,44],"pre",{"className":40,"code":41,"language":42,"meta":43,"style":43},"language-cpp shiki shiki-themes github-light github-dark","int main() {\n    \u002F\u002F 程序从 main 函数开始执行，下面的语句会按顺序运行。\n\n    int a = 10;\n    int &b = a;\n\n    cout \u003C\u003C \"a = \" \u003C\u003C a \u003C\u003C endl;\n    cout \u003C\u003C \"b = \" \u003C\u003C b \u003C\u003C endl;\n\n    b = 100;\n\n    cout \u003C\u003C \"a = \" \u003C\u003C a \u003C\u003C endl;\n    cout \u003C\u003C \"b = \" \u003C\u003C b \u003C\u003C endl;\n\n\n    \u002F\u002F 返回 0 表示程序正常结束。\n    return 0;\n}\n","cpp","",[29,45,46,63,70,77,96,112,117,140,159,164,177,182,199,216,221,226,232,243],{"__ignoreMap":43},[47,48,51,55,59],"span",{"class":49,"line":50},"line",1,[47,52,54],{"class":53},"szBVR","int",[47,56,58],{"class":57},"sScJk"," main",[47,60,62],{"class":61},"sVt8B","() {\n",[47,64,66],{"class":49,"line":65},2,[47,67,69],{"class":68},"sJ8bj","    \u002F\u002F 程序从 main 函数开始执行，下面的语句会按顺序运行。\n",[47,71,73],{"class":49,"line":72},3,[47,74,76],{"emptyLinePlaceholder":75},true,"\n",[47,78,80,83,86,89,93],{"class":49,"line":79},4,[47,81,82],{"class":53},"    int",[47,84,85],{"class":61}," a ",[47,87,88],{"class":53},"=",[47,90,92],{"class":91},"sj4cs"," 10",[47,94,95],{"class":61},";\n",[47,97,99,101,104,107,109],{"class":49,"line":98},5,[47,100,82],{"class":53},[47,102,103],{"class":53}," &",[47,105,106],{"class":61},"b ",[47,108,88],{"class":53},[47,110,111],{"class":61}," a;\n",[47,113,115],{"class":49,"line":114},6,[47,116,76],{"emptyLinePlaceholder":75},[47,118,120,123,126,130,133,135,137],{"class":49,"line":119},7,[47,121,122],{"class":61},"    cout ",[47,124,125],{"class":53},"\u003C\u003C",[47,127,129],{"class":128},"sZZnC"," \"a = \"",[47,131,132],{"class":53}," \u003C\u003C",[47,134,85],{"class":61},[47,136,125],{"class":53},[47,138,139],{"class":61}," endl;\n",[47,141,143,145,147,150,152,155,157],{"class":49,"line":142},8,[47,144,122],{"class":61},[47,146,125],{"class":53},[47,148,149],{"class":128}," \"b = \"",[47,151,132],{"class":53},[47,153,154],{"class":61}," b ",[47,156,125],{"class":53},[47,158,139],{"class":61},[47,160,162],{"class":49,"line":161},9,[47,163,76],{"emptyLinePlaceholder":75},[47,165,167,170,172,175],{"class":49,"line":166},10,[47,168,169],{"class":61},"    b ",[47,171,88],{"class":53},[47,173,174],{"class":91}," 100",[47,176,95],{"class":61},[47,178,180],{"class":49,"line":179},11,[47,181,76],{"emptyLinePlaceholder":75},[47,183,185,187,189,191,193,195,197],{"class":49,"line":184},12,[47,186,122],{"class":61},[47,188,125],{"class":53},[47,190,129],{"class":128},[47,192,132],{"class":53},[47,194,85],{"class":61},[47,196,125],{"class":53},[47,198,139],{"class":61},[47,200,202,204,206,208,210,212,214],{"class":49,"line":201},13,[47,203,122],{"class":61},[47,205,125],{"class":53},[47,207,149],{"class":128},[47,209,132],{"class":53},[47,211,154],{"class":61},[47,213,125],{"class":53},[47,215,139],{"class":61},[47,217,219],{"class":49,"line":218},14,[47,220,76],{"emptyLinePlaceholder":75},[47,222,224],{"class":49,"line":223},15,[47,225,76],{"emptyLinePlaceholder":75},[47,227,229],{"class":49,"line":228},16,[47,230,231],{"class":68},"    \u002F\u002F 返回 0 表示程序正常结束。\n",[47,233,235,238,241],{"class":49,"line":234},17,[47,236,237],{"class":53},"    return",[47,239,240],{"class":91}," 0",[47,242,95],{"class":61},[47,244,246],{"class":49,"line":245},18,[47,247,248],{"class":61},"}\n",[18,250,251],{},[24,252,253],{},"运行结果：",[38,255,260],{"className":256,"code":258,"language":259,"meta":43},[257],"language-text","a = 10\nb = 10\na = 100\nb = 100\n","text",[29,261,258],{"__ignoreMap":43},[13,263,265],{"id":264},"references-and-precautions","References and Precautions",[267,268,269,273],"ul",{},[270,271,272],"li",{},"References must be initialized.",[270,274,275],{},"A reference cannot be changed after initialization.",[18,277,36],{},[38,279,281],{"className":40,"code":280,"language":42,"meta":43,"style":43},"int main() {\n\n    int a = 10;\n    int b = 20;\n    \u002F\u002Fint &c; \u002F\u002F错误，引用必须初始化\n    int &c = a; \u002F\u002F一旦初始化后，就不可以更改\n    c = b; \u002F\u002F这是赋值操作，不是更改引用\n\n    cout \u003C\u003C \"a = \" \u003C\u003C a \u003C\u003C endl;\n    cout \u003C\u003C \"b = \" \u003C\u003C b \u003C\u003C endl;\n    cout \u003C\u003C \"c = \" \u003C\u003C c \u003C\u003C endl;\n\n\n    return 0;\n}\n",[29,282,283,291,295,307,320,328,345,358,362,378,394,412,416,420,428],{"__ignoreMap":43},[47,284,285,287,289],{"class":49,"line":50},[47,286,54],{"class":53},[47,288,58],{"class":57},[47,290,62],{"class":61},[47,292,293],{"class":49,"line":65},[47,294,76],{"emptyLinePlaceholder":75},[47,296,297,299,301,303,305],{"class":49,"line":72},[47,298,82],{"class":53},[47,300,85],{"class":61},[47,302,88],{"class":53},[47,304,92],{"class":91},[47,306,95],{"class":61},[47,308,309,311,313,315,318],{"class":49,"line":79},[47,310,82],{"class":53},[47,312,154],{"class":61},[47,314,88],{"class":53},[47,316,317],{"class":91}," 20",[47,319,95],{"class":61},[47,321,322,325],{"class":49,"line":98},[47,323,324],{"class":68},"    \u002F\u002Fint &c;",[47,326,327],{"class":68}," \u002F\u002F错误，引用必须初始化\n",[47,329,330,332,334,337,339,342],{"class":49,"line":114},[47,331,82],{"class":53},[47,333,103],{"class":53},[47,335,336],{"class":61},"c ",[47,338,88],{"class":53},[47,340,341],{"class":61}," a;",[47,343,344],{"class":68}," \u002F\u002F一旦初始化后，就不可以更改\n",[47,346,347,350,352,355],{"class":49,"line":119},[47,348,349],{"class":61},"    c ",[47,351,88],{"class":53},[47,353,354],{"class":61}," b;",[47,356,357],{"class":68}," \u002F\u002F这是赋值操作，不是更改引用\n",[47,359,360],{"class":49,"line":142},[47,361,76],{"emptyLinePlaceholder":75},[47,363,364,366,368,370,372,374,376],{"class":49,"line":161},[47,365,122],{"class":61},[47,367,125],{"class":53},[47,369,129],{"class":128},[47,371,132],{"class":53},[47,373,85],{"class":61},[47,375,125],{"class":53},[47,377,139],{"class":61},[47,379,380,382,384,386,388,390,392],{"class":49,"line":166},[47,381,122],{"class":61},[47,383,125],{"class":53},[47,385,149],{"class":128},[47,387,132],{"class":53},[47,389,154],{"class":61},[47,391,125],{"class":53},[47,393,139],{"class":61},[47,395,396,398,400,403,405,408,410],{"class":49,"line":179},[47,397,122],{"class":61},[47,399,125],{"class":53},[47,401,402],{"class":128}," \"c = \"",[47,404,132],{"class":53},[47,406,407],{"class":61}," c ",[47,409,125],{"class":53},[47,411,139],{"class":61},[47,413,414],{"class":49,"line":184},[47,415,76],{"emptyLinePlaceholder":75},[47,417,418],{"class":49,"line":201},[47,419,76],{"emptyLinePlaceholder":75},[47,421,422,424,426],{"class":49,"line":218},[47,423,237],{"class":53},[47,425,240],{"class":91},[47,427,95],{"class":61},[47,429,430],{"class":49,"line":223},[47,431,248],{"class":61},[18,433,434],{},[24,435,253],{},[38,437,440],{"className":438,"code":439,"language":259,"meta":43},[257],"a = 20\nb = 20\nc = 20\n",[29,441,439],{"__ignoreMap":43},[13,443,445],{"id":444},"using-references-as-function-parameters","Using references as function parameters.",[18,447,448,451],{},[24,449,450],{},"Purpose:"," When passing parameters to a function, the use of reference technology allows formal parameters to modify actual parameters.",[18,453,454,457],{},[24,455,456],{},"Advantages:"," Simplify pointer modification of actual parameters",[18,459,460],{},[24,461,36],{},[38,463,465],{"className":40,"code":464,"language":42,"meta":43,"style":43},"\u002F\u002F1. 值传递\nvoid mySwap01(int a, int b) {\n    int temp = a;\n    a = b;\n    b = temp;\n}\n\n\u002F\u002F2. 地址传递\nvoid mySwap02(int* a, int* b) {\n    int temp = *a;\n    *a = *b;\n    *b = temp;\n}\n\n\u002F\u002F3. 引用传递\nvoid mySwap03(int& a, int& b) {\n    int temp = a;\n    a = b;\n    b = temp;\n}\n\nint main() {\n\n    int a = 10;\n    int b = 20;\n\n    mySwap01(a, b);\n    cout \u003C\u003C \"a:\" \u003C\u003C a \u003C\u003C \" b:\" \u003C\u003C b \u003C\u003C endl;\n\n    mySwap02(&a, &b);\n    cout \u003C\u003C \"a:\" \u003C\u003C a \u003C\u003C \" b:\" \u003C\u003C b \u003C\u003C endl;\n\n    mySwap03(a, b);\n    cout \u003C\u003C \"a:\" \u003C\u003C a \u003C\u003C \" b:\" \u003C\u003C b \u003C\u003C endl;\n\n\n    return 0;\n}\n\n",[29,466,467,472,500,511,521,530,534,538,543,565,579,594,604,608,612,617,639,649,657,666,671,676,685,690,703,716,721,730,757,762,781,806,811,819,844,849,854,863],{"__ignoreMap":43},[47,468,469],{"class":49,"line":50},[47,470,471],{"class":68},"\u002F\u002F1. 值传递\n",[47,473,474,477,480,483,485,489,492,494,497],{"class":49,"line":65},[47,475,476],{"class":53},"void",[47,478,479],{"class":57}," mySwap01",[47,481,482],{"class":61},"(",[47,484,54],{"class":53},[47,486,488],{"class":487},"s4XuR"," a",[47,490,491],{"class":61},", ",[47,493,54],{"class":53},[47,495,496],{"class":487}," b",[47,498,499],{"class":61},") {\n",[47,501,502,504,507,509],{"class":49,"line":72},[47,503,82],{"class":53},[47,505,506],{"class":61}," temp ",[47,508,88],{"class":53},[47,510,111],{"class":61},[47,512,513,516,518],{"class":49,"line":79},[47,514,515],{"class":61},"    a ",[47,517,88],{"class":53},[47,519,520],{"class":61}," b;\n",[47,522,523,525,527],{"class":49,"line":98},[47,524,169],{"class":61},[47,526,88],{"class":53},[47,528,529],{"class":61}," temp;\n",[47,531,532],{"class":49,"line":114},[47,533,248],{"class":61},[47,535,536],{"class":49,"line":119},[47,537,76],{"emptyLinePlaceholder":75},[47,539,540],{"class":49,"line":142},[47,541,542],{"class":68},"\u002F\u002F2. 地址传递\n",[47,544,545,547,550,552,555,557,559,561,563],{"class":49,"line":161},[47,546,476],{"class":53},[47,548,549],{"class":57}," mySwap02",[47,551,482],{"class":61},[47,553,554],{"class":53},"int*",[47,556,488],{"class":487},[47,558,491],{"class":61},[47,560,554],{"class":53},[47,562,496],{"class":487},[47,564,499],{"class":61},[47,566,567,569,571,573,576],{"class":49,"line":166},[47,568,82],{"class":53},[47,570,506],{"class":61},[47,572,88],{"class":53},[47,574,575],{"class":53}," *",[47,577,578],{"class":61},"a;\n",[47,580,581,584,587,589,591],{"class":49,"line":179},[47,582,583],{"class":53},"    *",[47,585,586],{"class":61},"a ",[47,588,88],{"class":53},[47,590,575],{"class":53},[47,592,593],{"class":61},"b;\n",[47,595,596,598,600,602],{"class":49,"line":184},[47,597,583],{"class":53},[47,599,106],{"class":61},[47,601,88],{"class":53},[47,603,529],{"class":61},[47,605,606],{"class":49,"line":201},[47,607,248],{"class":61},[47,609,610],{"class":49,"line":218},[47,611,76],{"emptyLinePlaceholder":75},[47,613,614],{"class":49,"line":223},[47,615,616],{"class":68},"\u002F\u002F3. 引用传递\n",[47,618,619,621,624,626,629,631,633,635,637],{"class":49,"line":228},[47,620,476],{"class":53},[47,622,623],{"class":57}," mySwap03",[47,625,482],{"class":61},[47,627,628],{"class":53},"int&",[47,630,488],{"class":487},[47,632,491],{"class":61},[47,634,628],{"class":53},[47,636,496],{"class":487},[47,638,499],{"class":61},[47,640,641,643,645,647],{"class":49,"line":234},[47,642,82],{"class":53},[47,644,506],{"class":61},[47,646,88],{"class":53},[47,648,111],{"class":61},[47,650,651,653,655],{"class":49,"line":245},[47,652,515],{"class":61},[47,654,88],{"class":53},[47,656,520],{"class":61},[47,658,660,662,664],{"class":49,"line":659},19,[47,661,169],{"class":61},[47,663,88],{"class":53},[47,665,529],{"class":61},[47,667,669],{"class":49,"line":668},20,[47,670,248],{"class":61},[47,672,674],{"class":49,"line":673},21,[47,675,76],{"emptyLinePlaceholder":75},[47,677,679,681,683],{"class":49,"line":678},22,[47,680,54],{"class":53},[47,682,58],{"class":57},[47,684,62],{"class":61},[47,686,688],{"class":49,"line":687},23,[47,689,76],{"emptyLinePlaceholder":75},[47,691,693,695,697,699,701],{"class":49,"line":692},24,[47,694,82],{"class":53},[47,696,85],{"class":61},[47,698,88],{"class":53},[47,700,92],{"class":91},[47,702,95],{"class":61},[47,704,706,708,710,712,714],{"class":49,"line":705},25,[47,707,82],{"class":53},[47,709,154],{"class":61},[47,711,88],{"class":53},[47,713,317],{"class":91},[47,715,95],{"class":61},[47,717,719],{"class":49,"line":718},26,[47,720,76],{"emptyLinePlaceholder":75},[47,722,724,727],{"class":49,"line":723},27,[47,725,726],{"class":57},"    mySwap01",[47,728,729],{"class":61},"(a, b);\n",[47,731,733,735,737,740,742,744,746,749,751,753,755],{"class":49,"line":732},28,[47,734,122],{"class":61},[47,736,125],{"class":53},[47,738,739],{"class":128}," \"a:\"",[47,741,132],{"class":53},[47,743,85],{"class":61},[47,745,125],{"class":53},[47,747,748],{"class":128}," \" b:\"",[47,750,132],{"class":53},[47,752,154],{"class":61},[47,754,125],{"class":53},[47,756,139],{"class":61},[47,758,760],{"class":49,"line":759},29,[47,761,76],{"emptyLinePlaceholder":75},[47,763,765,768,770,773,776,778],{"class":49,"line":764},30,[47,766,767],{"class":57},"    mySwap02",[47,769,482],{"class":61},[47,771,772],{"class":53},"&",[47,774,775],{"class":61},"a, ",[47,777,772],{"class":53},[47,779,780],{"class":61},"b);\n",[47,782,784,786,788,790,792,794,796,798,800,802,804],{"class":49,"line":783},31,[47,785,122],{"class":61},[47,787,125],{"class":53},[47,789,739],{"class":128},[47,791,132],{"class":53},[47,793,85],{"class":61},[47,795,125],{"class":53},[47,797,748],{"class":128},[47,799,132],{"class":53},[47,801,154],{"class":61},[47,803,125],{"class":53},[47,805,139],{"class":61},[47,807,809],{"class":49,"line":808},32,[47,810,76],{"emptyLinePlaceholder":75},[47,812,814,817],{"class":49,"line":813},33,[47,815,816],{"class":57},"    mySwap03",[47,818,729],{"class":61},[47,820,822,824,826,828,830,832,834,836,838,840,842],{"class":49,"line":821},34,[47,823,122],{"class":61},[47,825,125],{"class":53},[47,827,739],{"class":128},[47,829,132],{"class":53},[47,831,85],{"class":61},[47,833,125],{"class":53},[47,835,748],{"class":128},[47,837,132],{"class":53},[47,839,154],{"class":61},[47,841,125],{"class":53},[47,843,139],{"class":61},[47,845,847],{"class":49,"line":846},35,[47,848,76],{"emptyLinePlaceholder":75},[47,850,852],{"class":49,"line":851},36,[47,853,76],{"emptyLinePlaceholder":75},[47,855,857,859,861],{"class":49,"line":856},37,[47,858,237],{"class":53},[47,860,240],{"class":91},[47,862,95],{"class":61},[47,864,866],{"class":49,"line":865},38,[47,867,248],{"class":61},[18,869,870],{},[24,871,253],{},[38,873,876],{"className":874,"code":875,"language":259,"meta":43},[257],"a:10 b:20\na:20 b:10\na:10 b:20\n",[29,877,875],{"__ignoreMap":43},[879,880,881],"blockquote",{},[18,882,883],{},"Summary: Using reference parameters produces the same effect as pass-by-address, but the syntax for references is clearer and simpler.",[13,885,887],{"id":886},"reference-as-function-return-value","Reference as function return value",[18,889,890],{},"A reference can serve as the return value of a function. This allows a function to directly return an alias to an object, which can be both efficient and useful for modifying the original object. However, it's crucial to ensure the referenced object remains valid beyond the function's scope, and returning a reference to a local variable is typically unsafe.",[18,892,893,894],{},"Note: ",[24,895,896],{},"Do not return local variable references",[18,898,899],{},"Usage: function call as lvalue",[18,901,902],{},[24,903,36],{},[38,905,907],{"className":40,"code":906,"language":42,"meta":43,"style":43},"\u002F\u002F返回局部变量引用\nint& test01() {\n    int a = 10; \u002F\u002F局部变量\n    return a;\n}\n\n\u002F\u002F返回静态变量引用\nint& test02() {\n    static int a = 20;\n    return a;\n}\n\nint main() {\n\n    \u002F\u002F不能返回局部变量的引用\n    int& ref = test01();\n    cout \u003C\u003C \"ref = \" \u003C\u003C ref \u003C\u003C endl;\n    cout \u003C\u003C \"ref = \" \u003C\u003C ref \u003C\u003C endl;\n\n    \u002F\u002F如果函数做左值，那么必须返回引用\n    int& ref2 = test02();\n    cout \u003C\u003C \"ref2 = \" \u003C\u003C ref2 \u003C\u003C endl;\n    cout \u003C\u003C \"ref2 = \" \u003C\u003C ref2 \u003C\u003C endl;\n\n    test02() = 1000;\n\n    cout \u003C\u003C \"ref2 = \" \u003C\u003C ref2 \u003C\u003C endl;\n    cout \u003C\u003C \"ref2 = \" \u003C\u003C ref2 \u003C\u003C endl;\n\n\n    return 0;\n}\n",[29,908,909,914,923,939,945,949,953,958,967,983,989,993,997,1005,1009,1014,1029,1046,1062,1066,1071,1084,1101,1117,1121,1136,1140,1156,1172,1176,1180,1188],{"__ignoreMap":43},[47,910,911],{"class":49,"line":50},[47,912,913],{"class":68},"\u002F\u002F返回局部变量引用\n",[47,915,916,918,921],{"class":49,"line":65},[47,917,628],{"class":53},[47,919,920],{"class":57}," test01",[47,922,62],{"class":61},[47,924,925,927,929,931,933,936],{"class":49,"line":72},[47,926,82],{"class":53},[47,928,85],{"class":61},[47,930,88],{"class":53},[47,932,92],{"class":91},[47,934,935],{"class":61},";",[47,937,938],{"class":68}," \u002F\u002F局部变量\n",[47,940,941,943],{"class":49,"line":79},[47,942,237],{"class":53},[47,944,111],{"class":61},[47,946,947],{"class":49,"line":98},[47,948,248],{"class":61},[47,950,951],{"class":49,"line":114},[47,952,76],{"emptyLinePlaceholder":75},[47,954,955],{"class":49,"line":119},[47,956,957],{"class":68},"\u002F\u002F返回静态变量引用\n",[47,959,960,962,965],{"class":49,"line":142},[47,961,628],{"class":53},[47,963,964],{"class":57}," test02",[47,966,62],{"class":61},[47,968,969,972,975,977,979,981],{"class":49,"line":161},[47,970,971],{"class":53},"    static",[47,973,974],{"class":53}," int",[47,976,85],{"class":61},[47,978,88],{"class":53},[47,980,317],{"class":91},[47,982,95],{"class":61},[47,984,985,987],{"class":49,"line":166},[47,986,237],{"class":53},[47,988,111],{"class":61},[47,990,991],{"class":49,"line":179},[47,992,248],{"class":61},[47,994,995],{"class":49,"line":184},[47,996,76],{"emptyLinePlaceholder":75},[47,998,999,1001,1003],{"class":49,"line":201},[47,1000,54],{"class":53},[47,1002,58],{"class":57},[47,1004,62],{"class":61},[47,1006,1007],{"class":49,"line":218},[47,1008,76],{"emptyLinePlaceholder":75},[47,1010,1011],{"class":49,"line":223},[47,1012,1013],{"class":68},"    \u002F\u002F不能返回局部变量的引用\n",[47,1015,1016,1019,1022,1024,1026],{"class":49,"line":228},[47,1017,1018],{"class":53},"    int&",[47,1020,1021],{"class":61}," ref ",[47,1023,88],{"class":53},[47,1025,920],{"class":57},[47,1027,1028],{"class":61},"();\n",[47,1030,1031,1033,1035,1038,1040,1042,1044],{"class":49,"line":234},[47,1032,122],{"class":61},[47,1034,125],{"class":53},[47,1036,1037],{"class":128}," \"ref = \"",[47,1039,132],{"class":53},[47,1041,1021],{"class":61},[47,1043,125],{"class":53},[47,1045,139],{"class":61},[47,1047,1048,1050,1052,1054,1056,1058,1060],{"class":49,"line":245},[47,1049,122],{"class":61},[47,1051,125],{"class":53},[47,1053,1037],{"class":128},[47,1055,132],{"class":53},[47,1057,1021],{"class":61},[47,1059,125],{"class":53},[47,1061,139],{"class":61},[47,1063,1064],{"class":49,"line":659},[47,1065,76],{"emptyLinePlaceholder":75},[47,1067,1068],{"class":49,"line":668},[47,1069,1070],{"class":68},"    \u002F\u002F如果函数做左值，那么必须返回引用\n",[47,1072,1073,1075,1078,1080,1082],{"class":49,"line":673},[47,1074,1018],{"class":53},[47,1076,1077],{"class":61}," ref2 ",[47,1079,88],{"class":53},[47,1081,964],{"class":57},[47,1083,1028],{"class":61},[47,1085,1086,1088,1090,1093,1095,1097,1099],{"class":49,"line":678},[47,1087,122],{"class":61},[47,1089,125],{"class":53},[47,1091,1092],{"class":128}," \"ref2 = \"",[47,1094,132],{"class":53},[47,1096,1077],{"class":61},[47,1098,125],{"class":53},[47,1100,139],{"class":61},[47,1102,1103,1105,1107,1109,1111,1113,1115],{"class":49,"line":687},[47,1104,122],{"class":61},[47,1106,125],{"class":53},[47,1108,1092],{"class":128},[47,1110,132],{"class":53},[47,1112,1077],{"class":61},[47,1114,125],{"class":53},[47,1116,139],{"class":61},[47,1118,1119],{"class":49,"line":692},[47,1120,76],{"emptyLinePlaceholder":75},[47,1122,1123,1126,1129,1131,1134],{"class":49,"line":705},[47,1124,1125],{"class":57},"    test02",[47,1127,1128],{"class":61},"() ",[47,1130,88],{"class":53},[47,1132,1133],{"class":91}," 1000",[47,1135,95],{"class":61},[47,1137,1138],{"class":49,"line":718},[47,1139,76],{"emptyLinePlaceholder":75},[47,1141,1142,1144,1146,1148,1150,1152,1154],{"class":49,"line":723},[47,1143,122],{"class":61},[47,1145,125],{"class":53},[47,1147,1092],{"class":128},[47,1149,132],{"class":53},[47,1151,1077],{"class":61},[47,1153,125],{"class":53},[47,1155,139],{"class":61},[47,1157,1158,1160,1162,1164,1166,1168,1170],{"class":49,"line":732},[47,1159,122],{"class":61},[47,1161,125],{"class":53},[47,1163,1092],{"class":128},[47,1165,132],{"class":53},[47,1167,1077],{"class":61},[47,1169,125],{"class":53},[47,1171,139],{"class":61},[47,1173,1174],{"class":49,"line":759},[47,1175,76],{"emptyLinePlaceholder":75},[47,1177,1178],{"class":49,"line":764},[47,1179,76],{"emptyLinePlaceholder":75},[47,1181,1182,1184,1186],{"class":49,"line":783},[47,1183,237],{"class":53},[47,1185,240],{"class":91},[47,1187,95],{"class":61},[47,1189,1190],{"class":49,"line":808},[47,1191,248],{"class":61},[18,1193,1194,1196,1197,1200],{},[24,1195,253],{}," 程序触发未定义行为，本次运行收到 ",[29,1198,1199],{},"SIGSEGV"," 后异常终止，没有可靠的正常输出。",[18,1202,1203],{},"​",[13,1205,1207],{"id":1206},"the-essence-of-references","The Essence of References",[18,1209,1210,1211],{},"Essentially: ",[24,1212,1213],{},"The nature of references is that they are implemented internally in C++ as pointer constants.",[18,1215,1216],{},"Tutorial Example:",[38,1218,1220],{"className":40,"code":1219,"language":42,"meta":43,"style":43},"\u002F\u002F发现是引用，转换为 int* const ref = &a;\nvoid func(int& ref){\n    ref = 100; \u002F\u002F ref是引用，转换为*ref = 100\n}\nint main(){\n    int a = 10;\n    \n    \u002F\u002F自动转换为 int* const ref = &a; 指针常量是指针指向不可改，也说明为什么引用不可更改\n    int& ref = a; \n    ref = 20; \u002F\u002F内部发现ref是引用，自动帮我们转换为: *ref = 20;\n    \n    cout \u003C\u003C \"a:\" \u003C\u003C a \u003C\u003C endl;\n    cout \u003C\u003C \"ref:\" \u003C\u003C ref \u003C\u003C endl;\n    \n    func(a);\n    return 0;\n}\n",[29,1221,1222,1227,1244,1258,1262,1271,1283,1288,1293,1304,1317,1321,1337,1354,1358,1366,1374],{"__ignoreMap":43},[47,1223,1224],{"class":49,"line":50},[47,1225,1226],{"class":68},"\u002F\u002F发现是引用，转换为 int* const ref = &a;\n",[47,1228,1229,1231,1234,1236,1238,1241],{"class":49,"line":65},[47,1230,476],{"class":53},[47,1232,1233],{"class":57}," func",[47,1235,482],{"class":61},[47,1237,628],{"class":53},[47,1239,1240],{"class":487}," ref",[47,1242,1243],{"class":61},"){\n",[47,1245,1246,1249,1251,1253,1255],{"class":49,"line":72},[47,1247,1248],{"class":61},"    ref ",[47,1250,88],{"class":53},[47,1252,174],{"class":91},[47,1254,935],{"class":61},[47,1256,1257],{"class":68}," \u002F\u002F ref是引用，转换为*ref = 100\n",[47,1259,1260],{"class":49,"line":79},[47,1261,248],{"class":61},[47,1263,1264,1266,1268],{"class":49,"line":98},[47,1265,54],{"class":53},[47,1267,58],{"class":57},[47,1269,1270],{"class":61},"(){\n",[47,1272,1273,1275,1277,1279,1281],{"class":49,"line":114},[47,1274,82],{"class":53},[47,1276,85],{"class":61},[47,1278,88],{"class":53},[47,1280,92],{"class":91},[47,1282,95],{"class":61},[47,1284,1285],{"class":49,"line":119},[47,1286,1287],{"class":61},"    \n",[47,1289,1290],{"class":49,"line":142},[47,1291,1292],{"class":68},"    \u002F\u002F自动转换为 int* const ref = &a; 指针常量是指针指向不可改，也说明为什么引用不可更改\n",[47,1294,1295,1297,1299,1301],{"class":49,"line":161},[47,1296,1018],{"class":53},[47,1298,1021],{"class":61},[47,1300,88],{"class":53},[47,1302,1303],{"class":61}," a; \n",[47,1305,1306,1308,1310,1312,1314],{"class":49,"line":166},[47,1307,1248],{"class":61},[47,1309,88],{"class":53},[47,1311,317],{"class":91},[47,1313,935],{"class":61},[47,1315,1316],{"class":68}," \u002F\u002F内部发现ref是引用，自动帮我们转换为: *ref = 20;\n",[47,1318,1319],{"class":49,"line":179},[47,1320,1287],{"class":61},[47,1322,1323,1325,1327,1329,1331,1333,1335],{"class":49,"line":184},[47,1324,122],{"class":61},[47,1326,125],{"class":53},[47,1328,739],{"class":128},[47,1330,132],{"class":53},[47,1332,85],{"class":61},[47,1334,125],{"class":53},[47,1336,139],{"class":61},[47,1338,1339,1341,1343,1346,1348,1350,1352],{"class":49,"line":201},[47,1340,122],{"class":61},[47,1342,125],{"class":53},[47,1344,1345],{"class":128}," \"ref:\"",[47,1347,132],{"class":53},[47,1349,1021],{"class":61},[47,1351,125],{"class":53},[47,1353,139],{"class":61},[47,1355,1356],{"class":49,"line":218},[47,1357,1287],{"class":61},[47,1359,1360,1363],{"class":49,"line":223},[47,1361,1362],{"class":57},"    func",[47,1364,1365],{"class":61},"(a);\n",[47,1367,1368,1370,1372],{"class":49,"line":228},[47,1369,237],{"class":53},[47,1371,240],{"class":91},[47,1373,95],{"class":61},[47,1375,1376],{"class":49,"line":234},[47,1377,248],{"class":61},[18,1379,1380],{},[24,1381,253],{},[38,1383,1386],{"className":1384,"code":1385,"language":259,"meta":43},[257],"a:20\nref:20\n",[29,1387,1385],{"__ignoreMap":43},[18,1389,1390],{},"Conclusion: References are recommended in C++ for more convenient syntax. References are essentially constant pointers, but the compiler handles all pointer operations for us.",[13,1392,1394],{"id":1393},"constant-reference","Constant reference",[18,1396,1397,1399],{},[24,1398,450],{}," Constant references are mainly used to decorate parameters to prevent accidental modifications.",[18,1401,1402,1403,1406],{},"In a function's parameter list, you can add the ",[29,1404,1405],{},"==const"," modifier to parameters to prevent the parameter from modifying the argument passed to it.",[18,1408,1409],{},[24,1410,36],{},[38,1412,1414],{"className":40,"code":1413,"language":42,"meta":43,"style":43},"\u002F\u002F引用使用的场景，通常用来修饰形参\nvoid showValue(const int& v) {\n    \u002F\u002Fv += 10;\n    cout \u003C\u003C v \u003C\u003C endl;\n}\n\nint main() {\n\n    \u002F\u002Fint& ref = 10;  引用本身需要一个合法的内存空间，因此这行错误\n    \u002F\u002F加入const就可以了，编译器优化代码，int temp = 10; const int& ref = temp;\n    const int& ref = 10;\n\n    \u002F\u002Fref = 100;  \u002F\u002F加入const后不可以修改变量\n    cout \u003C\u003C ref \u003C\u003C endl;\n\n    \u002F\u002F函数中利用常量引用防止误操作修改实参\n    int a = 10;\n    showValue(a);\n\n\n    return 0;\n}\n",[29,1415,1416,1421,1441,1446,1459,1463,1467,1475,1479,1484,1489,1504,1508,1516,1528,1532,1537,1549,1556,1560,1564,1572],{"__ignoreMap":43},[47,1417,1418],{"class":49,"line":50},[47,1419,1420],{"class":68},"\u002F\u002F引用使用的场景，通常用来修饰形参\n",[47,1422,1423,1425,1428,1430,1433,1436,1439],{"class":49,"line":65},[47,1424,476],{"class":53},[47,1426,1427],{"class":57}," showValue",[47,1429,482],{"class":61},[47,1431,1432],{"class":53},"const",[47,1434,1435],{"class":53}," int&",[47,1437,1438],{"class":487}," v",[47,1440,499],{"class":61},[47,1442,1443],{"class":49,"line":72},[47,1444,1445],{"class":68},"    \u002F\u002Fv += 10;\n",[47,1447,1448,1450,1452,1455,1457],{"class":49,"line":79},[47,1449,122],{"class":61},[47,1451,125],{"class":53},[47,1453,1454],{"class":61}," v ",[47,1456,125],{"class":53},[47,1458,139],{"class":61},[47,1460,1461],{"class":49,"line":98},[47,1462,248],{"class":61},[47,1464,1465],{"class":49,"line":114},[47,1466,76],{"emptyLinePlaceholder":75},[47,1468,1469,1471,1473],{"class":49,"line":119},[47,1470,54],{"class":53},[47,1472,58],{"class":57},[47,1474,62],{"class":61},[47,1476,1477],{"class":49,"line":142},[47,1478,76],{"emptyLinePlaceholder":75},[47,1480,1481],{"class":49,"line":161},[47,1482,1483],{"class":68},"    \u002F\u002Fint& ref = 10;  引用本身需要一个合法的内存空间，因此这行错误\n",[47,1485,1486],{"class":49,"line":166},[47,1487,1488],{"class":68},"    \u002F\u002F加入const就可以了，编译器优化代码，int temp = 10; const int& ref = temp;\n",[47,1490,1491,1494,1496,1498,1500,1502],{"class":49,"line":179},[47,1492,1493],{"class":53},"    const",[47,1495,1435],{"class":53},[47,1497,1021],{"class":61},[47,1499,88],{"class":53},[47,1501,92],{"class":91},[47,1503,95],{"class":61},[47,1505,1506],{"class":49,"line":184},[47,1507,76],{"emptyLinePlaceholder":75},[47,1509,1510,1513],{"class":49,"line":201},[47,1511,1512],{"class":68},"    \u002F\u002Fref = 100;",[47,1514,1515],{"class":68},"  \u002F\u002F加入const后不可以修改变量\n",[47,1517,1518,1520,1522,1524,1526],{"class":49,"line":218},[47,1519,122],{"class":61},[47,1521,125],{"class":53},[47,1523,1021],{"class":61},[47,1525,125],{"class":53},[47,1527,139],{"class":61},[47,1529,1530],{"class":49,"line":223},[47,1531,76],{"emptyLinePlaceholder":75},[47,1533,1534],{"class":49,"line":228},[47,1535,1536],{"class":68},"    \u002F\u002F函数中利用常量引用防止误操作修改实参\n",[47,1538,1539,1541,1543,1545,1547],{"class":49,"line":234},[47,1540,82],{"class":53},[47,1542,85],{"class":61},[47,1544,88],{"class":53},[47,1546,92],{"class":91},[47,1548,95],{"class":61},[47,1550,1551,1554],{"class":49,"line":245},[47,1552,1553],{"class":57},"    showValue",[47,1555,1365],{"class":61},[47,1557,1558],{"class":49,"line":659},[47,1559,76],{"emptyLinePlaceholder":75},[47,1561,1562],{"class":49,"line":668},[47,1563,76],{"emptyLinePlaceholder":75},[47,1565,1566,1568,1570],{"class":49,"line":673},[47,1567,237],{"class":53},[47,1569,240],{"class":91},[47,1571,95],{"class":61},[47,1573,1574],{"class":49,"line":678},[47,1575,248],{"class":61},[18,1577,1578],{},[24,1579,253],{},[38,1581,1584],{"className":1582,"code":1583,"language":259,"meta":43},[257],"10\n10\n",[29,1585,1583],{"__ignoreMap":43},[1587,1588,1589],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}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 .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 .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":43,"searchDepth":65,"depth":65,"links":1591},[1592],{"id":5,"depth":65,"text":5,"children":1593},[1594,1595,1596,1597,1598,1599],{"id":15,"depth":72,"text":16},{"id":264,"depth":72,"text":265},{"id":444,"depth":72,"text":445},{"id":886,"depth":72,"text":887},{"id":1206,"depth":72,"text":1207},{"id":1393,"depth":72,"text":1394},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong",0,"1200","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教学\u002F1200-引用",false,null,"en-US","en-us",{},{"title":5,"description":43},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1200-引用","vzK40XmM5O9E_BmBiV57iWevpRXKbPGTDWOddk4Om2I",[1620,1625,1630,1635,1640,1645,1650,1655,1660,1665,1670,1675,1676,1681,1686,1691,1696,1701,1706,1711,1716,1721,1726,1731,1736,1741,1746,1751,1756,1761,1766,1771,1776,1781,1786,1791,1796,1801,1806,1811,1816,1821,1826,1831,1836,1841,1846,1851,1856,1861,1866,1871,1876,1881,1886,1891,1896,1901,1906,1911,1916,1921,1926,1931,1936,1941,1946,1951,1956,1961,1966,1971,1976,1981,1986,1991,1996,2001,2006,2011,2016,2021],{"path":1621,"stem":1622,"title":1623,"date":1603,"chapterOrder":1624,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1626,"stem":1627,"title":1628,"date":1603,"chapterOrder":1629,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1631,"stem":1632,"title":1633,"date":1603,"chapterOrder":1634,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1636,"stem":1637,"title":1638,"date":1603,"chapterOrder":1639,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1641,"stem":1642,"title":1643,"date":1603,"chapterOrder":1644,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1646,"stem":1647,"title":1648,"date":1603,"chapterOrder":1649,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1651,"stem":1652,"title":1653,"date":1603,"chapterOrder":1654,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0700-shu-zu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0700-数组","array","0700",{"path":1656,"stem":1657,"title":1658,"date":1603,"chapterOrder":1659,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1661,"stem":1662,"title":1663,"date":1603,"chapterOrder":1664,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0900-zhi-zhen","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0900-指针","pointer","0900",{"path":1666,"stem":1667,"title":1668,"date":1603,"chapterOrder":1669,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1671,"stem":1672,"title":1673,"date":1603,"chapterOrder":1674,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1600,"stem":1617,"title":5,"date":1603,"chapterOrder":1602,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},{"path":1677,"stem":1678,"title":1679,"date":1603,"chapterOrder":1680,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1682,"stem":1683,"title":1684,"date":1603,"chapterOrder":1685,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1687,"stem":1688,"title":1689,"date":1603,"chapterOrder":1690,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1692,"stem":1693,"title":1694,"date":1603,"chapterOrder":1695,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1697,"stem":1698,"title":1699,"date":1603,"chapterOrder":1700,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1702,"stem":1703,"title":1704,"date":1603,"chapterOrder":1705,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1707,"stem":1708,"title":1709,"date":1603,"chapterOrder":1710,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1712,"stem":1713,"title":1714,"date":1603,"chapterOrder":1715,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1717,"stem":1718,"title":1719,"date":1603,"chapterOrder":1720,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1722,"stem":1723,"title":1724,"date":1603,"chapterOrder":1725,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1727,"stem":1728,"title":1729,"date":1603,"chapterOrder":1730,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1700-mu-ban","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1700-模板","template","1700",{"path":1732,"stem":1733,"title":1734,"date":1603,"chapterOrder":1735,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1737,"stem":1738,"title":1739,"date":1603,"chapterOrder":1740,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1742,"stem":1743,"title":1744,"date":1603,"chapterOrder":1745,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1747,"stem":1748,"title":1749,"date":1603,"chapterOrder":1750,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1752,"stem":1753,"title":1754,"date":1603,"chapterOrder":1755,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1757,"stem":1758,"title":1759,"date":1603,"chapterOrder":1760,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1762,"stem":1763,"title":1764,"date":1603,"chapterOrder":1765,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1767,"stem":1768,"title":1769,"date":1603,"chapterOrder":1770,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1772,"stem":1773,"title":1774,"date":1603,"chapterOrder":1775,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1777,"stem":1778,"title":1779,"date":1603,"chapterOrder":1780,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1782,"stem":1783,"title":1784,"date":1603,"chapterOrder":1785,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1787,"stem":1788,"title":1789,"date":1603,"chapterOrder":1790,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1792,"stem":1793,"title":1794,"date":1603,"chapterOrder":1795,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1797,"stem":1798,"title":1799,"date":1603,"chapterOrder":1800,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1802,"stem":1803,"title":1804,"date":1603,"chapterOrder":1805,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0100-auto","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0100-auto","auto","2000-0100",{"path":1807,"stem":1808,"title":1809,"date":1603,"chapterOrder":1810,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1812,"stem":1813,"title":1814,"date":1603,"chapterOrder":1815,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0300-using","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0300-using","using","2000-0300",{"path":1817,"stem":1818,"title":1819,"date":1603,"chapterOrder":1820,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1822,"stem":1823,"title":1824,"date":1603,"chapterOrder":1825,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1827,"stem":1828,"title":1829,"date":1603,"chapterOrder":1830,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1832,"stem":1833,"title":1834,"date":1603,"chapterOrder":1835,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0700-constexpr","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F2000-0700-constexpr","constexpr","2000-0700",{"path":1837,"stem":1838,"title":1839,"date":1603,"chapterOrder":1840,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1842,"stem":1843,"title":1844,"date":1603,"chapterOrder":1845,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1847,"stem":1848,"title":1849,"date":1603,"chapterOrder":1850,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1852,"stem":1853,"title":1854,"date":1603,"chapterOrder":1855,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1857,"stem":1858,"title":1859,"date":1603,"chapterOrder":1860,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1862,"stem":1863,"title":1864,"date":1603,"chapterOrder":1865,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1867,"stem":1868,"title":1869,"date":1603,"chapterOrder":1870,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1872,"stem":1873,"title":1874,"date":1603,"chapterOrder":1875,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1877,"stem":1878,"title":1879,"date":1603,"chapterOrder":1880,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1882,"stem":1883,"title":1884,"date":1603,"chapterOrder":1885,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1887,"stem":1888,"title":1889,"date":1603,"chapterOrder":1890,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1892,"stem":1893,"title":1894,"date":1603,"chapterOrder":1895,"chapterDepth":65,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1897,"stem":1898,"title":1899,"date":1603,"chapterOrder":1900,"chapterDepth":65,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1902,"stem":1903,"title":1904,"date":1603,"chapterOrder":1905,"chapterDepth":65,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1907,"stem":1908,"title":1909,"date":1603,"chapterOrder":1910,"chapterDepth":65,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1912,"stem":1913,"title":1914,"date":1603,"chapterOrder":1915,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1917,"stem":1918,"title":1919,"date":1603,"chapterOrder":1920,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1922,"stem":1923,"title":1924,"date":1603,"chapterOrder":1925,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1927,"stem":1928,"title":1929,"date":1603,"chapterOrder":1930,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1932,"stem":1933,"title":1934,"date":1603,"chapterOrder":1935,"chapterDepth":65,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1937,"stem":1938,"title":1939,"date":1603,"chapterOrder":1940,"chapterDepth":65,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1942,"stem":1943,"title":1944,"date":1603,"chapterOrder":1945,"chapterDepth":65,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1947,"stem":1948,"title":1949,"date":1603,"chapterOrder":1950,"chapterDepth":65,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1952,"stem":1953,"title":1954,"date":1603,"chapterOrder":1955,"chapterDepth":65,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1957,"stem":1958,"title":1959,"date":1603,"chapterOrder":1960,"chapterDepth":65,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1962,"stem":1963,"title":1964,"date":1603,"chapterOrder":1965,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1967,"stem":1968,"title":1969,"date":1603,"chapterOrder":1970,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1972,"stem":1973,"title":1974,"date":1603,"chapterOrder":1975,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1977,"stem":1978,"title":1979,"date":1603,"chapterOrder":1980,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1982,"stem":1983,"title":1984,"date":1603,"chapterOrder":1985,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1987,"stem":1988,"title":1989,"date":1603,"chapterOrder":1990,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1992,"stem":1993,"title":1994,"date":1603,"chapterOrder":1995,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1997,"stem":1998,"title":1999,"date":1603,"chapterOrder":2000,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":2002,"stem":2003,"title":2004,"date":1603,"chapterOrder":2005,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":2007,"stem":2008,"title":2009,"date":1603,"chapterOrder":2010,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":2012,"stem":2013,"title":2014,"date":1603,"chapterOrder":2015,"chapterDepth":50,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":2017,"stem":2018,"title":2019,"date":1603,"chapterOrder":2020,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":1610},"\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":1606,"stem":2022,"title":2023,"date":1603,"chapterOrder":1611,"chapterDepth":1601,"docKey":1605,"docRoot":1606,"docTitle":1607,"isWikiDoc":75,"isWikiIndex":75},"_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002Findex","C\u002FC++ tutorial",{"variants":2025},[2026,2027,2030,2033,2036],{"path":1600,"localeSlug":1613,"i18nKey":1609},{"path":2028,"localeSlug":2029,"i18nKey":1609},"\u002Fzh-hant\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","zh-hant",{"path":2031,"localeSlug":2032,"i18nKey":1609},"\u002Fzh-hk\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","zh-hk",{"path":2034,"localeSlug":2035,"i18nKey":1609},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","zh-tw",{"path":2037,"localeSlug":2038,"i18nKey":1609},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","zh-cn",[1600,1616,2028,1616,2031,1616,2034,1616,2037,1616],1784646862476]