[{"data":1,"prerenderedAt":1776},["ShallowReactive",2],{"wiki-page-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen":3,"wiki-doc-items-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen":1354,"language-switcher-data-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen":1760,"wiki-i18n-paths-\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen":1775},{"id":4,"title":5,"body":6,"canonicalPath":1336,"chapterDepth":40,"chapterOrder":1337,"date":1338,"description":32,"docI18nKey":1339,"docKey":1340,"docRoot":1341,"docTitle":1342,"extension":1343,"i18nKey":1344,"isBlogPost":1345,"isWikiDoc":208,"isWikiIndex":1345,"layout":1346,"legacyPath":1346,"locale":1347,"localeSlug":1348,"meta":1349,"navigation":208,"path":1336,"seo":1350,"sourcePath":1351,"sourceStem":1344,"stem":1352,"wikiDepth":40,"__hash__":1353},"content\u002F_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0300-对象模型与this指针.md","Object Model and the `this` Pointer",{"type":7,"value":8,"toc":1333},"minimark",[9,14,19,23,26,270,276,284,288,291,294,297,310,331,334,340,357,668,673,679,683,692,695,700,936,940,946,950,955,969,974,982,986,1319,1323,1329],[10,11,13],"h3",{"id":12},"c-object-model-and-this-pointer","C++ object model and this pointer",[15,16,18],"h4",{"id":17},"member-variables-and-member-functions-are-stored-separately","Member variables and member functions are stored separately.",[20,21,22],"p",{},"In C++, member variables and member functions within a class are stored separately.",[20,24,25],{},"Only non-static member variables belong to objects of the class.",[27,28,33],"pre",{"className":29,"code":30,"language":31,"meta":32,"style":32},"language-cpp shiki shiki-themes github-light github-dark","class Person {\npublic:\n    Person() {\n        mA = 0;\n    }\n    \u002F\u002F非静态成员变量占对象空间\n    int mA;\n    \u002F\u002F静态成员变量不占对象空间\n    static int mB; \n    \u002F\u002F函数也不占对象空间，所有函数共享一个函数实例\n    void func() {\n        cout \u003C\u003C \"mA:\" \u003C\u003C this->mA \u003C\u003C endl;\n    }\n    \u002F\u002F静态成员函数也不占对象空间\n    static void sfunc() {\n    }\n};\n\nint main() {\n\n    cout \u003C\u003C sizeof(Person) \u003C\u003C endl;\n\n\n    return 0;\n}\n","cpp","",[34,35,36,53,59,68,84,90,97,106,112,124,130,141,168,173,179,192,197,203,210,221,226,244,249,254,264],"code",{"__ignoreMap":32},[37,38,41,45,49],"span",{"class":39,"line":40},"line",1,[37,42,44],{"class":43},"szBVR","class",[37,46,48],{"class":47},"sScJk"," Person",[37,50,52],{"class":51},"sVt8B"," {\n",[37,54,56],{"class":39,"line":55},2,[37,57,58],{"class":43},"public:\n",[37,60,62,65],{"class":39,"line":61},3,[37,63,64],{"class":47},"    Person",[37,66,67],{"class":51},"() {\n",[37,69,71,74,77,81],{"class":39,"line":70},4,[37,72,73],{"class":51},"        mA ",[37,75,76],{"class":43},"=",[37,78,80],{"class":79},"sj4cs"," 0",[37,82,83],{"class":51},";\n",[37,85,87],{"class":39,"line":86},5,[37,88,89],{"class":51},"    }\n",[37,91,93],{"class":39,"line":92},6,[37,94,96],{"class":95},"sJ8bj","    \u002F\u002F非静态成员变量占对象空间\n",[37,98,100,103],{"class":39,"line":99},7,[37,101,102],{"class":43},"    int",[37,104,105],{"class":51}," mA;\n",[37,107,109],{"class":39,"line":108},8,[37,110,111],{"class":95},"    \u002F\u002F静态成员变量不占对象空间\n",[37,113,115,118,121],{"class":39,"line":114},9,[37,116,117],{"class":43},"    static",[37,119,120],{"class":43}," int",[37,122,123],{"class":51}," mB; \n",[37,125,127],{"class":39,"line":126},10,[37,128,129],{"class":95},"    \u002F\u002F函数也不占对象空间，所有函数共享一个函数实例\n",[37,131,133,136,139],{"class":39,"line":132},11,[37,134,135],{"class":43},"    void",[37,137,138],{"class":47}," func",[37,140,67],{"class":51},[37,142,144,147,150,154,157,160,163,165],{"class":39,"line":143},12,[37,145,146],{"class":51},"        cout ",[37,148,149],{"class":43},"\u003C\u003C",[37,151,153],{"class":152},"sZZnC"," \"mA:\"",[37,155,156],{"class":43}," \u003C\u003C",[37,158,159],{"class":79}," this",[37,161,162],{"class":51},"->mA ",[37,164,149],{"class":43},[37,166,167],{"class":51}," endl;\n",[37,169,171],{"class":39,"line":170},13,[37,172,89],{"class":51},[37,174,176],{"class":39,"line":175},14,[37,177,178],{"class":95},"    \u002F\u002F静态成员函数也不占对象空间\n",[37,180,182,184,187,190],{"class":39,"line":181},15,[37,183,117],{"class":43},[37,185,186],{"class":43}," void",[37,188,189],{"class":47}," sfunc",[37,191,67],{"class":51},[37,193,195],{"class":39,"line":194},16,[37,196,89],{"class":51},[37,198,200],{"class":39,"line":199},17,[37,201,202],{"class":51},"};\n",[37,204,206],{"class":39,"line":205},18,[37,207,209],{"emptyLinePlaceholder":208},true,"\n",[37,211,213,216,219],{"class":39,"line":212},19,[37,214,215],{"class":43},"int",[37,217,218],{"class":47}," main",[37,220,67],{"class":51},[37,222,224],{"class":39,"line":223},20,[37,225,209],{"emptyLinePlaceholder":208},[37,227,229,232,234,237,240,242],{"class":39,"line":228},21,[37,230,231],{"class":51},"    cout ",[37,233,149],{"class":43},[37,235,236],{"class":43}," sizeof",[37,238,239],{"class":51},"(Person) ",[37,241,149],{"class":43},[37,243,167],{"class":51},[37,245,247],{"class":39,"line":246},22,[37,248,209],{"emptyLinePlaceholder":208},[37,250,252],{"class":39,"line":251},23,[37,253,209],{"emptyLinePlaceholder":208},[37,255,257,260,262],{"class":39,"line":256},24,[37,258,259],{"class":43},"    return",[37,261,80],{"class":79},[37,263,83],{"class":51},[37,265,267],{"class":39,"line":266},25,[37,268,269],{"class":51},"}\n",[20,271,272],{},[273,274,275],"strong",{},"运行结果（类型大小或类型名可能随编译器和平台变化）：",[27,277,282],{"className":278,"code":280,"language":281,"meta":32},[279],"language-text","4\n","text",[34,283,280],{"__ignoreMap":32},[15,285,287],{"id":286},"the-this-pointer-concept","the \"this\" pointer concept",[20,289,290],{},"From 4.3.1, we know that member variables and member functions are stored separately in C++.",[20,292,293],{},"Each non-static member function is instantiated only once, meaning multiple objects of the same type share a single block of code.",[20,295,296],{},"So the question is: how does this block of code distinguish which object called it?",[20,298,299,300,303,304],{},"C++ uses a special object pointer, the ",[34,301,302],{},"this"," pointer, to solve this problem. ",[273,305,306,307,309],{},"The ",[34,308,302],{}," pointer points to the object to which the called member function belongs",[20,311,312,314,315,317,318,321,322,324,325,327,328,330],{},[34,313,302],{}," pointer是隐含在每个非静态成员函数内的一种指针。它指向调用该成员函数的对象本身。在成员函数内部，",[34,316,302],{},"指针可以用来访问对象的成员变量和成员函数，尤其在需要区分成员变量和函数参数同名的情况下非常有用。例如，当成员变量和函数参数同名时，可以使用",[34,319,320],{},"this->成员变量","来明确指定是访问成员变量。此外，",[34,323,302],{},"指针也常用于链式调用（如返回对象自身的引用）或在函数中传递对象地址给其他函数。值得注意的是，",[34,326,302],{},"指针是常量指针（对于非const成员函数）或常量常量指针（对于const成员函数），因此在函数内部不能修改",[34,329,302],{},"指针本身的值。",[20,332,333],{},"No need to define the this pointer, it can be used directly.",[20,335,336,337,339],{},"Uses of the ",[34,338,302],{}," pointer:",[341,342,343,350],"ul",{},[344,345,346,347,349],"li",{},"When parameters have the same name as member variables, you can use the ",[34,348,302],{}," pointer to distinguish them.",[344,351,352,353,356],{},"In a non-static member function of a class, to return the object itself, you can use ",[34,354,355],{},"return *this",".",[27,358,360],{"className":29,"code":359,"language":31,"meta":32,"style":32},"class Person\n{\npublic:\n\n    Person(int age)\n    {\n        \u002F\u002F1、当形参和成员变量同名时，可用this指针来区分\n        this->age = age;\n    }\n\n    Person& PersonAddPerson(Person p)\n    {\n        this->age += p.age;\n        \u002F\u002F返回对象本身\n        return *this;\n    }\n\n    int age;\n};\n\nvoid test01()\n{\n    Person p1(10);\n    cout \u003C\u003C \"p1.age = \" \u003C\u003C p1.age \u003C\u003C endl;\n\n    Person p2(10);\n    p2.PersonAddPerson(p1).PersonAddPerson(p1).PersonAddPerson(p1);\n    cout \u003C\u003C \"p2.age = \" \u003C\u003C p2.age \u003C\u003C endl;\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[34,361,362,369,374,378,382,398,403,408,421,425,429,449,453,465,470,482,486,490,496,500,504,515,519,535,553,557,571,592,611,616,621,630,635,644,649,654,663],{"__ignoreMap":32},[37,363,364,366],{"class":39,"line":40},[37,365,44],{"class":43},[37,367,368],{"class":47}," Person\n",[37,370,371],{"class":39,"line":55},[37,372,373],{"class":51},"{\n",[37,375,376],{"class":39,"line":61},[37,377,58],{"class":43},[37,379,380],{"class":39,"line":70},[37,381,209],{"emptyLinePlaceholder":208},[37,383,384,386,389,391,395],{"class":39,"line":86},[37,385,64],{"class":47},[37,387,388],{"class":51},"(",[37,390,215],{"class":43},[37,392,394],{"class":393},"s4XuR"," age",[37,396,397],{"class":51},")\n",[37,399,400],{"class":39,"line":92},[37,401,402],{"class":51},"    {\n",[37,404,405],{"class":39,"line":99},[37,406,407],{"class":95},"        \u002F\u002F1、当形参和成员变量同名时，可用this指针来区分\n",[37,409,410,413,416,418],{"class":39,"line":108},[37,411,412],{"class":79},"        this",[37,414,415],{"class":51},"->age ",[37,417,76],{"class":43},[37,419,420],{"class":51}," age;\n",[37,422,423],{"class":39,"line":114},[37,424,89],{"class":51},[37,426,427],{"class":39,"line":126},[37,428,209],{"emptyLinePlaceholder":208},[37,430,431,433,436,439,441,444,447],{"class":39,"line":132},[37,432,64],{"class":47},[37,434,435],{"class":43},"&",[37,437,438],{"class":47}," PersonAddPerson",[37,440,388],{"class":51},[37,442,443],{"class":47},"Person",[37,445,446],{"class":393}," p",[37,448,397],{"class":51},[37,450,451],{"class":39,"line":143},[37,452,402],{"class":51},[37,454,455,457,459,462],{"class":39,"line":170},[37,456,412],{"class":79},[37,458,415],{"class":51},[37,460,461],{"class":43},"+=",[37,463,464],{"class":51}," p.age;\n",[37,466,467],{"class":39,"line":175},[37,468,469],{"class":95},"        \u002F\u002F返回对象本身\n",[37,471,472,475,478,480],{"class":39,"line":181},[37,473,474],{"class":43},"        return",[37,476,477],{"class":43}," *",[37,479,302],{"class":79},[37,481,83],{"class":51},[37,483,484],{"class":39,"line":194},[37,485,89],{"class":51},[37,487,488],{"class":39,"line":199},[37,489,209],{"emptyLinePlaceholder":208},[37,491,492,494],{"class":39,"line":205},[37,493,102],{"class":43},[37,495,420],{"class":51},[37,497,498],{"class":39,"line":212},[37,499,202],{"class":51},[37,501,502],{"class":39,"line":223},[37,503,209],{"emptyLinePlaceholder":208},[37,505,506,509,512],{"class":39,"line":228},[37,507,508],{"class":43},"void",[37,510,511],{"class":47}," test01",[37,513,514],{"class":51},"()\n",[37,516,517],{"class":39,"line":246},[37,518,373],{"class":51},[37,520,521,524,527,529,532],{"class":39,"line":251},[37,522,523],{"class":51},"    Person ",[37,525,526],{"class":47},"p1",[37,528,388],{"class":51},[37,530,531],{"class":79},"10",[37,533,534],{"class":51},");\n",[37,536,537,539,541,544,546,549,551],{"class":39,"line":256},[37,538,231],{"class":51},[37,540,149],{"class":43},[37,542,543],{"class":152}," \"p1.age = \"",[37,545,156],{"class":43},[37,547,548],{"class":51}," p1.age ",[37,550,149],{"class":43},[37,552,167],{"class":51},[37,554,555],{"class":39,"line":266},[37,556,209],{"emptyLinePlaceholder":208},[37,558,560,562,565,567,569],{"class":39,"line":559},26,[37,561,523],{"class":51},[37,563,564],{"class":47},"p2",[37,566,388],{"class":51},[37,568,531],{"class":79},[37,570,534],{"class":51},[37,572,574,577,580,583,585,587,589],{"class":39,"line":573},27,[37,575,576],{"class":51},"    p2.",[37,578,579],{"class":47},"PersonAddPerson",[37,581,582],{"class":51},"(p1).",[37,584,579],{"class":47},[37,586,582],{"class":51},[37,588,579],{"class":47},[37,590,591],{"class":51},"(p1);\n",[37,593,595,597,599,602,604,607,609],{"class":39,"line":594},28,[37,596,231],{"class":51},[37,598,149],{"class":43},[37,600,601],{"class":152}," \"p2.age = \"",[37,603,156],{"class":43},[37,605,606],{"class":51}," p2.age ",[37,608,149],{"class":43},[37,610,167],{"class":51},[37,612,614],{"class":39,"line":613},29,[37,615,269],{"class":51},[37,617,619],{"class":39,"line":618},30,[37,620,209],{"emptyLinePlaceholder":208},[37,622,624,626,628],{"class":39,"line":623},31,[37,625,215],{"class":43},[37,627,218],{"class":47},[37,629,67],{"class":51},[37,631,633],{"class":39,"line":632},32,[37,634,209],{"emptyLinePlaceholder":208},[37,636,638,641],{"class":39,"line":637},33,[37,639,640],{"class":47},"    test01",[37,642,643],{"class":51},"();\n",[37,645,647],{"class":39,"line":646},34,[37,648,209],{"emptyLinePlaceholder":208},[37,650,652],{"class":39,"line":651},35,[37,653,209],{"emptyLinePlaceholder":208},[37,655,657,659,661],{"class":39,"line":656},36,[37,658,259],{"class":43},[37,660,80],{"class":79},[37,662,83],{"class":51},[37,664,666],{"class":39,"line":665},37,[37,667,269],{"class":51},[20,669,670],{},[273,671,672],{},"运行结果：",[27,674,677],{"className":675,"code":676,"language":281,"meta":32},[279],"p1.age = 10\np2.age = 40\n",[34,678,676],{"__ignoreMap":32},[15,680,682],{"id":681},"accessing-a-member-function-via-a-null-pointer","Accessing a member function via a null pointer",[20,684,685,686,688,689,691],{},"In C++, calling member functions on a null pointer is technically allowed, but it's critical to ensure the function does not access the object through the ",[34,687,302],{}," pointer. If the member function attempts to use ",[34,690,302],{}," (for example, to access or modify member variables), it will result in undefined behavior.",[20,693,694],{},"If the this pointer is used, it should be checked to ensure code robustness.",[20,696,697],{},[273,698,699],{},"Example:",[27,701,703],{"className":29,"code":702,"language":31,"meta":32,"style":32},"\u002F\u002F空指针访问成员函数\nclass Person {\npublic:\n\n    void ShowClassName() {\n        cout \u003C\u003C \"我是Person类!\" \u003C\u003C endl;\n    }\n\n    void ShowPerson() {\n        if (this == NULL) {\n            return;\n        }\n        cout \u003C\u003C mAge \u003C\u003C endl;\n    }\n\npublic:\n    int mAge;\n};\n\nvoid test01()\n{\n    Person * p = NULL;\n    p->ShowClassName(); \u002F\u002F空指针，可以调用成员函数\n    p->ShowPerson();  \u002F\u002F但是如果成员函数中用到了this指针，就不可以了\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[34,704,705,710,718,722,726,735,748,752,756,765,784,791,796,809,813,817,821,828,832,836,844,848,864,878,890,894,898,906,910,916,920,924,932],{"__ignoreMap":32},[37,706,707],{"class":39,"line":40},[37,708,709],{"class":95},"\u002F\u002F空指针访问成员函数\n",[37,711,712,714,716],{"class":39,"line":55},[37,713,44],{"class":43},[37,715,48],{"class":47},[37,717,52],{"class":51},[37,719,720],{"class":39,"line":61},[37,721,58],{"class":43},[37,723,724],{"class":39,"line":70},[37,725,209],{"emptyLinePlaceholder":208},[37,727,728,730,733],{"class":39,"line":86},[37,729,135],{"class":43},[37,731,732],{"class":47}," ShowClassName",[37,734,67],{"class":51},[37,736,737,739,741,744,746],{"class":39,"line":92},[37,738,146],{"class":51},[37,740,149],{"class":43},[37,742,743],{"class":152}," \"我是Person类!\"",[37,745,156],{"class":43},[37,747,167],{"class":51},[37,749,750],{"class":39,"line":99},[37,751,89],{"class":51},[37,753,754],{"class":39,"line":108},[37,755,209],{"emptyLinePlaceholder":208},[37,757,758,760,763],{"class":39,"line":114},[37,759,135],{"class":43},[37,761,762],{"class":47}," ShowPerson",[37,764,67],{"class":51},[37,766,767,770,773,775,778,781],{"class":39,"line":126},[37,768,769],{"class":43},"        if",[37,771,772],{"class":51}," (",[37,774,302],{"class":79},[37,776,777],{"class":43}," ==",[37,779,780],{"class":79}," NULL",[37,782,783],{"class":51},") {\n",[37,785,786,789],{"class":39,"line":132},[37,787,788],{"class":43},"            return",[37,790,83],{"class":51},[37,792,793],{"class":39,"line":143},[37,794,795],{"class":51},"        }\n",[37,797,798,800,802,805,807],{"class":39,"line":170},[37,799,146],{"class":51},[37,801,149],{"class":43},[37,803,804],{"class":51}," mAge ",[37,806,149],{"class":43},[37,808,167],{"class":51},[37,810,811],{"class":39,"line":175},[37,812,89],{"class":51},[37,814,815],{"class":39,"line":181},[37,816,209],{"emptyLinePlaceholder":208},[37,818,819],{"class":39,"line":194},[37,820,58],{"class":43},[37,822,823,825],{"class":39,"line":199},[37,824,102],{"class":43},[37,826,827],{"class":51}," mAge;\n",[37,829,830],{"class":39,"line":205},[37,831,202],{"class":51},[37,833,834],{"class":39,"line":212},[37,835,209],{"emptyLinePlaceholder":208},[37,837,838,840,842],{"class":39,"line":223},[37,839,508],{"class":43},[37,841,511],{"class":47},[37,843,514],{"class":51},[37,845,846],{"class":39,"line":228},[37,847,373],{"class":51},[37,849,850,852,855,858,860,862],{"class":39,"line":246},[37,851,523],{"class":51},[37,853,854],{"class":43},"*",[37,856,857],{"class":51}," p ",[37,859,76],{"class":43},[37,861,780],{"class":79},[37,863,83],{"class":51},[37,865,866,869,872,875],{"class":39,"line":251},[37,867,868],{"class":51},"    p->",[37,870,871],{"class":47},"ShowClassName",[37,873,874],{"class":51},"();",[37,876,877],{"class":95}," \u002F\u002F空指针，可以调用成员函数\n",[37,879,880,882,885,887],{"class":39,"line":256},[37,881,868],{"class":51},[37,883,884],{"class":47},"ShowPerson",[37,886,874],{"class":51},[37,888,889],{"class":95},"  \u002F\u002F但是如果成员函数中用到了this指针，就不可以了\n",[37,891,892],{"class":39,"line":266},[37,893,269],{"class":51},[37,895,896],{"class":39,"line":559},[37,897,209],{"emptyLinePlaceholder":208},[37,899,900,902,904],{"class":39,"line":573},[37,901,215],{"class":43},[37,903,218],{"class":47},[37,905,67],{"class":51},[37,907,908],{"class":39,"line":594},[37,909,209],{"emptyLinePlaceholder":208},[37,911,912,914],{"class":39,"line":613},[37,913,640],{"class":47},[37,915,643],{"class":51},[37,917,918],{"class":39,"line":618},[37,919,209],{"emptyLinePlaceholder":208},[37,921,922],{"class":39,"line":623},[37,923,209],{"emptyLinePlaceholder":208},[37,925,926,928,930],{"class":39,"line":632},[37,927,259],{"class":43},[37,929,80],{"class":79},[37,931,83],{"class":51},[37,933,934],{"class":39,"line":637},[37,935,269],{"class":51},[20,937,938],{},[273,939,672],{},[27,941,944],{"className":942,"code":943,"language":281,"meta":32},[279],"我是Person类!\n",[34,945,943],{"__ignoreMap":32},[15,947,949],{"id":948},"const-qualified-member-function","const-qualified member function",[20,951,952],{},[273,953,954],{},"Constant function:",[341,956,957,963,966],{},[344,958,959,960],{},"When we add const after a member function, we call this function a ",[273,961,962],{},"constant function",[344,964,965],{},"You cannot modify member properties within constant functions.",[344,967,968],{},"When declaring a member variable with the keyword mutable, it can still be modified in const member functions.",[20,970,971],{},[273,972,973],{},"constant object:",[341,975,976,979],{},[344,977,978],{},"Adding const before declaring an object makes that object a constant object.",[344,980,981],{},"A const object can only call const member functions.",[20,983,984],{},[273,985,699],{},[27,987,989],{"className":29,"code":988,"language":31,"meta":32,"style":32},"class Person {\npublic:\n    Person() {\n        m_A = 0;\n        m_B = 0;\n    }\n\n    \u002F\u002Fthis指针的本质是一个指针常量，指针的指向不可修改\n    \u002F\u002F如果想让指针指向的值也不可以修改，需要声明常函数\n    void ShowPerson() const {\n        \u002F\u002Fconst Type* const pointer;\n        \u002F\u002Fthis = NULL; \u002F\u002F不能修改指针的指向 Person* const this;\n        \u002F\u002Fthis->mA = 100; \u002F\u002F但是this指针指向的对象的数据是可以修改的\n\n        \u002F\u002Fconst修饰成员函数，表示指针指向的内存空间的数据不能修改，除了mutable修饰的变量\n        this->m_B = 100;\n    }\n\n    void MyFunc() const {\n        \u002F\u002FmA = 10000;\n    }\n\npublic:\n    int m_A;\n    mutable int m_B; \u002F\u002F可修改 可变的\n};\n\n\u002F\u002Fconst修饰对象  常对象\nvoid test01() {\n\n    const Person person; \u002F\u002F常量对象  \n    cout \u003C\u003C person.m_A \u003C\u003C endl;\n    \u002F\u002Fperson.mA = 100; \u002F\u002F常对象不能修改成员变量的值,但是可以访问\n    person.m_B = 100; \u002F\u002F但是常对象可以修改mutable修饰成员变量\n\n    \u002F\u002F常对象访问成员函数\n    person.MyFunc(); \u002F\u002F常对象不能调用const的函数\n\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[34,990,991,999,1003,1009,1020,1031,1035,1039,1044,1049,1063,1068,1076,1084,1088,1093,1107,1111,1115,1128,1133,1137,1141,1145,1152,1165,1169,1173,1178,1186,1190,1201,1214,1222,1237,1241,1246,1259,1264,1269,1274,1283,1288,1295,1300,1305,1314],{"__ignoreMap":32},[37,992,993,995,997],{"class":39,"line":40},[37,994,44],{"class":43},[37,996,48],{"class":47},[37,998,52],{"class":51},[37,1000,1001],{"class":39,"line":55},[37,1002,58],{"class":43},[37,1004,1005,1007],{"class":39,"line":61},[37,1006,64],{"class":47},[37,1008,67],{"class":51},[37,1010,1011,1014,1016,1018],{"class":39,"line":70},[37,1012,1013],{"class":51},"        m_A ",[37,1015,76],{"class":43},[37,1017,80],{"class":79},[37,1019,83],{"class":51},[37,1021,1022,1025,1027,1029],{"class":39,"line":86},[37,1023,1024],{"class":51},"        m_B ",[37,1026,76],{"class":43},[37,1028,80],{"class":79},[37,1030,83],{"class":51},[37,1032,1033],{"class":39,"line":92},[37,1034,89],{"class":51},[37,1036,1037],{"class":39,"line":99},[37,1038,209],{"emptyLinePlaceholder":208},[37,1040,1041],{"class":39,"line":108},[37,1042,1043],{"class":95},"    \u002F\u002Fthis指针的本质是一个指针常量，指针的指向不可修改\n",[37,1045,1046],{"class":39,"line":114},[37,1047,1048],{"class":95},"    \u002F\u002F如果想让指针指向的值也不可以修改，需要声明常函数\n",[37,1050,1051,1053,1055,1058,1061],{"class":39,"line":126},[37,1052,135],{"class":43},[37,1054,762],{"class":47},[37,1056,1057],{"class":51},"() ",[37,1059,1060],{"class":43},"const",[37,1062,52],{"class":51},[37,1064,1065],{"class":39,"line":132},[37,1066,1067],{"class":95},"        \u002F\u002Fconst Type* const pointer;\n",[37,1069,1070,1073],{"class":39,"line":143},[37,1071,1072],{"class":95},"        \u002F\u002Fthis = NULL;",[37,1074,1075],{"class":95}," \u002F\u002F不能修改指针的指向 Person* const this;\n",[37,1077,1078,1081],{"class":39,"line":170},[37,1079,1080],{"class":95},"        \u002F\u002Fthis->mA = 100;",[37,1082,1083],{"class":95}," \u002F\u002F但是this指针指向的对象的数据是可以修改的\n",[37,1085,1086],{"class":39,"line":175},[37,1087,209],{"emptyLinePlaceholder":208},[37,1089,1090],{"class":39,"line":181},[37,1091,1092],{"class":95},"        \u002F\u002Fconst修饰成员函数，表示指针指向的内存空间的数据不能修改，除了mutable修饰的变量\n",[37,1094,1095,1097,1100,1102,1105],{"class":39,"line":194},[37,1096,412],{"class":79},[37,1098,1099],{"class":51},"->m_B ",[37,1101,76],{"class":43},[37,1103,1104],{"class":79}," 100",[37,1106,83],{"class":51},[37,1108,1109],{"class":39,"line":199},[37,1110,89],{"class":51},[37,1112,1113],{"class":39,"line":205},[37,1114,209],{"emptyLinePlaceholder":208},[37,1116,1117,1119,1122,1124,1126],{"class":39,"line":212},[37,1118,135],{"class":43},[37,1120,1121],{"class":47}," MyFunc",[37,1123,1057],{"class":51},[37,1125,1060],{"class":43},[37,1127,52],{"class":51},[37,1129,1130],{"class":39,"line":223},[37,1131,1132],{"class":95},"        \u002F\u002FmA = 10000;\n",[37,1134,1135],{"class":39,"line":228},[37,1136,89],{"class":51},[37,1138,1139],{"class":39,"line":246},[37,1140,209],{"emptyLinePlaceholder":208},[37,1142,1143],{"class":39,"line":251},[37,1144,58],{"class":43},[37,1146,1147,1149],{"class":39,"line":256},[37,1148,102],{"class":43},[37,1150,1151],{"class":51}," m_A;\n",[37,1153,1154,1157,1159,1162],{"class":39,"line":266},[37,1155,1156],{"class":43},"    mutable",[37,1158,120],{"class":43},[37,1160,1161],{"class":51}," m_B;",[37,1163,1164],{"class":95}," \u002F\u002F可修改 可变的\n",[37,1166,1167],{"class":39,"line":559},[37,1168,202],{"class":51},[37,1170,1171],{"class":39,"line":573},[37,1172,209],{"emptyLinePlaceholder":208},[37,1174,1175],{"class":39,"line":594},[37,1176,1177],{"class":95},"\u002F\u002Fconst修饰对象  常对象\n",[37,1179,1180,1182,1184],{"class":39,"line":613},[37,1181,508],{"class":43},[37,1183,511],{"class":47},[37,1185,67],{"class":51},[37,1187,1188],{"class":39,"line":618},[37,1189,209],{"emptyLinePlaceholder":208},[37,1191,1192,1195,1198],{"class":39,"line":623},[37,1193,1194],{"class":43},"    const",[37,1196,1197],{"class":51}," Person person;",[37,1199,1200],{"class":95}," \u002F\u002F常量对象  \n",[37,1202,1203,1205,1207,1210,1212],{"class":39,"line":632},[37,1204,231],{"class":51},[37,1206,149],{"class":43},[37,1208,1209],{"class":51}," person.m_A ",[37,1211,149],{"class":43},[37,1213,167],{"class":51},[37,1215,1216,1219],{"class":39,"line":637},[37,1217,1218],{"class":95},"    \u002F\u002Fperson.mA = 100;",[37,1220,1221],{"class":95}," \u002F\u002F常对象不能修改成员变量的值,但是可以访问\n",[37,1223,1224,1227,1229,1231,1234],{"class":39,"line":646},[37,1225,1226],{"class":51},"    person.m_B ",[37,1228,76],{"class":43},[37,1230,1104],{"class":79},[37,1232,1233],{"class":51},";",[37,1235,1236],{"class":95}," \u002F\u002F但是常对象可以修改mutable修饰成员变量\n",[37,1238,1239],{"class":39,"line":651},[37,1240,209],{"emptyLinePlaceholder":208},[37,1242,1243],{"class":39,"line":656},[37,1244,1245],{"class":95},"    \u002F\u002F常对象访问成员函数\n",[37,1247,1248,1251,1254,1256],{"class":39,"line":665},[37,1249,1250],{"class":51},"    person.",[37,1252,1253],{"class":47},"MyFunc",[37,1255,874],{"class":51},[37,1257,1258],{"class":95}," \u002F\u002F常对象不能调用const的函数\n",[37,1260,1262],{"class":39,"line":1261},38,[37,1263,209],{"emptyLinePlaceholder":208},[37,1265,1267],{"class":39,"line":1266},39,[37,1268,269],{"class":51},[37,1270,1272],{"class":39,"line":1271},40,[37,1273,209],{"emptyLinePlaceholder":208},[37,1275,1277,1279,1281],{"class":39,"line":1276},41,[37,1278,215],{"class":43},[37,1280,218],{"class":47},[37,1282,67],{"class":51},[37,1284,1286],{"class":39,"line":1285},42,[37,1287,209],{"emptyLinePlaceholder":208},[37,1289,1291,1293],{"class":39,"line":1290},43,[37,1292,640],{"class":47},[37,1294,643],{"class":51},[37,1296,1298],{"class":39,"line":1297},44,[37,1299,209],{"emptyLinePlaceholder":208},[37,1301,1303],{"class":39,"line":1302},45,[37,1304,209],{"emptyLinePlaceholder":208},[37,1306,1308,1310,1312],{"class":39,"line":1307},46,[37,1309,259],{"class":43},[37,1311,80],{"class":79},[37,1313,83],{"class":51},[37,1315,1317],{"class":39,"line":1316},47,[37,1318,269],{"class":51},[20,1320,1321],{},[273,1322,672],{},[27,1324,1327],{"className":1325,"code":1326,"language":281,"meta":32},[279],"0\n",[34,1328,1326],{"__ignoreMap":32},[1330,1331,1332],"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 .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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":32,"searchDepth":55,"depth":55,"links":1334},[1335],{"id":12,"depth":61,"text":13},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen","1400-0300","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教学\u002F1400-0300-对象模型与this指针",false,null,"en-US","en-us",{},{"title":5,"description":32},"\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指针","zcrBLWXeL1n_eCkt_fB0yOw_wxw_4Nu74x449T7FdLI",[1355,1361,1366,1371,1376,1381,1386,1391,1396,1401,1406,1411,1416,1421,1426,1431,1432,1437,1442,1447,1452,1457,1462,1467,1472,1477,1482,1487,1492,1497,1502,1507,1512,1517,1522,1527,1532,1537,1542,1547,1552,1557,1562,1567,1572,1577,1582,1587,1592,1597,1602,1607,1612,1617,1622,1627,1632,1637,1642,1647,1652,1657,1662,1667,1672,1677,1682,1687,1692,1697,1702,1707,1712,1717,1722,1727,1732,1737,1742,1747,1752,1757],{"path":1356,"stem":1357,"title":1358,"date":1338,"chapterOrder":1359,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0100-c-kai-fa-huan-jing-da-jian-yu-ce-shi","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0100-C++开发环境搭建与测试","C++ Development Environment Setup and Testing","0100",0,{"path":1362,"stem":1363,"title":1364,"date":1338,"chapterOrder":1365,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1367,"stem":1368,"title":1369,"date":1338,"chapterOrder":1370,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1372,"stem":1373,"title":1374,"date":1338,"chapterOrder":1375,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1377,"stem":1378,"title":1379,"date":1338,"chapterOrder":1380,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1382,"stem":1383,"title":1384,"date":1338,"chapterOrder":1385,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1387,"stem":1388,"title":1389,"date":1338,"chapterOrder":1390,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0700-shu-zu","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0700-数组","array","0700",{"path":1392,"stem":1393,"title":1394,"date":1338,"chapterOrder":1395,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1397,"stem":1398,"title":1399,"date":1338,"chapterOrder":1400,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0900-zhi-zhen","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F0900-指针","pointer","0900",{"path":1402,"stem":1403,"title":1404,"date":1338,"chapterOrder":1405,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1407,"stem":1408,"title":1409,"date":1338,"chapterOrder":1410,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1412,"stem":1413,"title":1414,"date":1338,"chapterOrder":1415,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1200-引用","reference","1200",{"path":1417,"stem":1418,"title":1419,"date":1338,"chapterOrder":1420,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1422,"stem":1423,"title":1424,"date":1338,"chapterOrder":1425,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1427,"stem":1428,"title":1429,"date":1338,"chapterOrder":1430,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1336,"stem":1352,"title":5,"date":1338,"chapterOrder":1337,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},{"path":1433,"stem":1434,"title":1435,"date":1338,"chapterOrder":1436,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1438,"stem":1439,"title":1440,"date":1338,"chapterOrder":1441,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1443,"stem":1444,"title":1445,"date":1338,"chapterOrder":1446,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1448,"stem":1449,"title":1450,"date":1338,"chapterOrder":1451,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1453,"stem":1454,"title":1455,"date":1338,"chapterOrder":1456,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1458,"stem":1459,"title":1460,"date":1338,"chapterOrder":1461,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1463,"stem":1464,"title":1465,"date":1338,"chapterOrder":1466,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\u002Fen-us\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1700-mu-ban","_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1700-模板","template","1700",{"path":1468,"stem":1469,"title":1470,"date":1338,"chapterOrder":1471,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1473,"stem":1474,"title":1475,"date":1338,"chapterOrder":1476,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1478,"stem":1479,"title":1480,"date":1338,"chapterOrder":1481,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1483,"stem":1484,"title":1485,"date":1338,"chapterOrder":1486,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1488,"stem":1489,"title":1490,"date":1338,"chapterOrder":1491,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1493,"stem":1494,"title":1495,"date":1338,"chapterOrder":1496,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1498,"stem":1499,"title":1500,"date":1338,"chapterOrder":1501,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1503,"stem":1504,"title":1505,"date":1338,"chapterOrder":1506,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1508,"stem":1509,"title":1510,"date":1338,"chapterOrder":1511,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1513,"stem":1514,"title":1515,"date":1338,"chapterOrder":1516,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1518,"stem":1519,"title":1520,"date":1338,"chapterOrder":1521,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1523,"stem":1524,"title":1525,"date":1338,"chapterOrder":1526,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1528,"stem":1529,"title":1530,"date":1338,"chapterOrder":1531,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1533,"stem":1534,"title":1535,"date":1338,"chapterOrder":1536,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1538,"stem":1539,"title":1540,"date":1338,"chapterOrder":1541,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1543,"stem":1544,"title":1545,"date":1338,"chapterOrder":1546,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1548,"stem":1549,"title":1550,"date":1338,"chapterOrder":1551,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1553,"stem":1554,"title":1555,"date":1338,"chapterOrder":1556,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1558,"stem":1559,"title":1560,"date":1338,"chapterOrder":1561,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1563,"stem":1564,"title":1565,"date":1338,"chapterOrder":1566,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1568,"stem":1569,"title":1570,"date":1338,"chapterOrder":1571,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1573,"stem":1574,"title":1575,"date":1338,"chapterOrder":1576,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1578,"stem":1579,"title":1580,"date":1338,"chapterOrder":1581,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1583,"stem":1584,"title":1585,"date":1338,"chapterOrder":1586,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1588,"stem":1589,"title":1590,"date":1338,"chapterOrder":1591,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1593,"stem":1594,"title":1595,"date":1338,"chapterOrder":1596,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1598,"stem":1599,"title":1600,"date":1338,"chapterOrder":1601,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1603,"stem":1604,"title":1605,"date":1338,"chapterOrder":1606,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1608,"stem":1609,"title":1610,"date":1338,"chapterOrder":1611,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1613,"stem":1614,"title":1615,"date":1338,"chapterOrder":1616,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1618,"stem":1619,"title":1620,"date":1338,"chapterOrder":1621,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1623,"stem":1624,"title":1625,"date":1338,"chapterOrder":1626,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1628,"stem":1629,"title":1630,"date":1338,"chapterOrder":1631,"chapterDepth":55,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1633,"stem":1634,"title":1635,"date":1338,"chapterOrder":1636,"chapterDepth":55,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1638,"stem":1639,"title":1640,"date":1338,"chapterOrder":1641,"chapterDepth":55,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1643,"stem":1644,"title":1645,"date":1338,"chapterOrder":1646,"chapterDepth":55,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1648,"stem":1649,"title":1650,"date":1338,"chapterOrder":1651,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1653,"stem":1654,"title":1655,"date":1338,"chapterOrder":1656,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1658,"stem":1659,"title":1660,"date":1338,"chapterOrder":1661,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1663,"stem":1664,"title":1665,"date":1338,"chapterOrder":1666,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1668,"stem":1669,"title":1670,"date":1338,"chapterOrder":1671,"chapterDepth":55,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1673,"stem":1674,"title":1675,"date":1338,"chapterOrder":1676,"chapterDepth":55,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1678,"stem":1679,"title":1680,"date":1338,"chapterOrder":1681,"chapterDepth":55,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1683,"stem":1684,"title":1685,"date":1338,"chapterOrder":1686,"chapterDepth":55,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1688,"stem":1689,"title":1690,"date":1338,"chapterOrder":1691,"chapterDepth":55,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1693,"stem":1694,"title":1695,"date":1338,"chapterOrder":1696,"chapterDepth":55,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1698,"stem":1699,"title":1700,"date":1338,"chapterOrder":1701,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1703,"stem":1704,"title":1705,"date":1338,"chapterOrder":1706,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1708,"stem":1709,"title":1710,"date":1338,"chapterOrder":1711,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1713,"stem":1714,"title":1715,"date":1338,"chapterOrder":1716,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1718,"stem":1719,"title":1720,"date":1338,"chapterOrder":1721,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1723,"stem":1724,"title":1725,"date":1338,"chapterOrder":1726,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1728,"stem":1729,"title":1730,"date":1338,"chapterOrder":1731,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1733,"stem":1734,"title":1735,"date":1338,"chapterOrder":1736,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1738,"stem":1739,"title":1740,"date":1338,"chapterOrder":1741,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1743,"stem":1744,"title":1745,"date":1338,"chapterOrder":1746,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1748,"stem":1749,"title":1750,"date":1338,"chapterOrder":1751,"chapterDepth":40,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1753,"stem":1754,"title":1755,"date":1338,"chapterOrder":1756,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":1345},"\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":1341,"stem":1758,"title":1759,"date":1338,"chapterOrder":1346,"chapterDepth":1360,"docKey":1340,"docRoot":1341,"docTitle":1342,"isWikiDoc":208,"isWikiIndex":208},"_i18n\u002Fen-us\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002Findex","C\u002FC++ tutorial",{"variants":1761},[1762,1763,1766,1769,1772],{"path":1336,"localeSlug":1348,"i18nKey":1344},{"path":1764,"localeSlug":1765,"i18nKey":1344},"\u002Fzh-hant\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen","zh-hant",{"path":1767,"localeSlug":1768,"i18nKey":1344},"\u002Fzh-hk\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen","zh-hk",{"path":1770,"localeSlug":1771,"i18nKey":1344},"\u002Fzh-tw\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen","zh-tw",{"path":1773,"localeSlug":1774,"i18nKey":1344},"\u002Fzh-cn\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen","zh-cn",[1336,1351,1764,1351,1767,1351,1770,1351,1773,1351],1784646862972]