[{"data":1,"prerenderedAt":1665},["ShallowReactive",2],{"wiki-page-\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen":3,"wiki-doc-items-2023-10-05-cplusplus-jiao-xue":1278},{"id":4,"title":5,"body":6,"chapterDepth":39,"chapterOrder":1266,"date":1267,"description":31,"docKey":1268,"docRoot":1269,"docTitle":1270,"extension":1271,"isWikiDoc":207,"isWikiIndex":1272,"meta":1273,"navigation":207,"path":1274,"seo":1275,"stem":1276,"wikiDepth":39,"__hash__":1277},"wiki\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0300-对象模型与this指针.md","对象模型与this指针",{"type":7,"value":8,"toc":1263},"minimark",[9,14,18,22,25,269,276,279,282,285,288,294,297,300,303,313,625,629,632,635,638,643,879,883,886,891,905,910,918,922,1255,1259],[10,11,13],"h3",{"id":12},"c对象模型和this指针","C++对象模型和this指针",[15,16,17],"h4",{"id":17},"成员变量和成员函数分开存储",[19,20,21],"p",{},"在C++中，类内的成员变量和成员函数分开存储",[19,23,24],{},"只有非静态成员变量才属于类的对象上",[26,27,32],"pre",{"className":28,"code":29,"language":30,"meta":31,"style":31},"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","",[33,34,35,52,58,67,83,89,96,105,111,123,129,140,167,172,178,191,196,202,209,220,225,243,248,253,263],"code",{"__ignoreMap":31},[36,37,40,44,48],"span",{"class":38,"line":39},"line",1,[36,41,43],{"class":42},"szBVR","class",[36,45,47],{"class":46},"sScJk"," Person",[36,49,51],{"class":50},"sVt8B"," {\n",[36,53,55],{"class":38,"line":54},2,[36,56,57],{"class":42},"public:\n",[36,59,61,64],{"class":38,"line":60},3,[36,62,63],{"class":46},"    Person",[36,65,66],{"class":50},"() {\n",[36,68,70,73,76,80],{"class":38,"line":69},4,[36,71,72],{"class":50},"        mA ",[36,74,75],{"class":42},"=",[36,77,79],{"class":78},"sj4cs"," 0",[36,81,82],{"class":50},";\n",[36,84,86],{"class":38,"line":85},5,[36,87,88],{"class":50},"    }\n",[36,90,92],{"class":38,"line":91},6,[36,93,95],{"class":94},"sJ8bj","    \u002F\u002F非静态成员变量占对象空间\n",[36,97,99,102],{"class":38,"line":98},7,[36,100,101],{"class":42},"    int",[36,103,104],{"class":50}," mA;\n",[36,106,108],{"class":38,"line":107},8,[36,109,110],{"class":94},"    \u002F\u002F静态成员变量不占对象空间\n",[36,112,114,117,120],{"class":38,"line":113},9,[36,115,116],{"class":42},"    static",[36,118,119],{"class":42}," int",[36,121,122],{"class":50}," mB; \n",[36,124,126],{"class":38,"line":125},10,[36,127,128],{"class":94},"    \u002F\u002F函数也不占对象空间，所有函数共享一个函数实例\n",[36,130,132,135,138],{"class":38,"line":131},11,[36,133,134],{"class":42},"    void",[36,136,137],{"class":46}," func",[36,139,66],{"class":50},[36,141,143,146,149,153,156,159,162,164],{"class":38,"line":142},12,[36,144,145],{"class":50},"        cout ",[36,147,148],{"class":42},"\u003C\u003C",[36,150,152],{"class":151},"sZZnC"," \"mA:\"",[36,154,155],{"class":42}," \u003C\u003C",[36,157,158],{"class":78}," this",[36,160,161],{"class":50},"->mA ",[36,163,148],{"class":42},[36,165,166],{"class":50}," endl;\n",[36,168,170],{"class":38,"line":169},13,[36,171,88],{"class":50},[36,173,175],{"class":38,"line":174},14,[36,176,177],{"class":94},"    \u002F\u002F静态成员函数也不占对象空间\n",[36,179,181,183,186,189],{"class":38,"line":180},15,[36,182,116],{"class":42},[36,184,185],{"class":42}," void",[36,187,188],{"class":46}," sfunc",[36,190,66],{"class":50},[36,192,194],{"class":38,"line":193},16,[36,195,88],{"class":50},[36,197,199],{"class":38,"line":198},17,[36,200,201],{"class":50},"};\n",[36,203,205],{"class":38,"line":204},18,[36,206,208],{"emptyLinePlaceholder":207},true,"\n",[36,210,212,215,218],{"class":38,"line":211},19,[36,213,214],{"class":42},"int",[36,216,217],{"class":46}," main",[36,219,66],{"class":50},[36,221,223],{"class":38,"line":222},20,[36,224,208],{"emptyLinePlaceholder":207},[36,226,228,231,233,236,239,241],{"class":38,"line":227},21,[36,229,230],{"class":50},"    cout ",[36,232,148],{"class":42},[36,234,235],{"class":42}," sizeof",[36,237,238],{"class":50},"(Person) ",[36,240,148],{"class":42},[36,242,166],{"class":50},[36,244,246],{"class":38,"line":245},22,[36,247,208],{"emptyLinePlaceholder":207},[36,249,251],{"class":38,"line":250},23,[36,252,208],{"emptyLinePlaceholder":207},[36,254,256,259,261],{"class":38,"line":255},24,[36,257,258],{"class":42},"    return",[36,260,79],{"class":78},[36,262,82],{"class":50},[36,264,266],{"class":38,"line":265},25,[36,267,268],{"class":50},"}\n",[19,270,271,275],{},[272,273,274],"strong",{},"运行\u002F观察结果："," 运行后会打印示例中的变量值或地址；地址值与运行环境有关，以同类对象的相对位置和指针变化为观察重点。",[15,277,278],{"id":278},"this指针概念",[19,280,281],{},"通过4.3.1我们知道在C++中成员变量和成员函数是分开存储的",[19,283,284],{},"每一个非静态成员函数只会诞生一份函数实例，也就是说多个同类型的对象会共用一块代码",[19,286,287],{},"那么问题是：这一块代码是如何区分那个对象调用自己的呢？",[19,289,290,291],{},"c++通过提供特殊的对象指针，this指针，解决上述问题。",[272,292,293],{},"this指针指向被调用的成员函数所属的对象",[19,295,296],{},"this指针是隐含每一个非静态成员函数内的一种指针",[19,298,299],{},"this指针不需要定义，直接使用即可",[19,301,302],{},"this指针的用途：",[304,305,306,310],"ul",{},[307,308,309],"li",{},"当形参和成员变量同名时，可用this指针来区分",[307,311,312],{},"在类的非静态成员函数中返回对象本身，可使用return *this",[26,314,316],{"className":28,"code":315,"language":30,"meta":31,"style":31},"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",[33,317,318,325,330,334,338,354,359,364,377,381,385,405,409,421,426,439,443,447,453,457,461,472,476,492,510,514,528,549,568,573,578,587,592,601,606,611,620],{"__ignoreMap":31},[36,319,320,322],{"class":38,"line":39},[36,321,43],{"class":42},[36,323,324],{"class":46}," Person\n",[36,326,327],{"class":38,"line":54},[36,328,329],{"class":50},"{\n",[36,331,332],{"class":38,"line":60},[36,333,57],{"class":42},[36,335,336],{"class":38,"line":69},[36,337,208],{"emptyLinePlaceholder":207},[36,339,340,342,345,347,351],{"class":38,"line":85},[36,341,63],{"class":46},[36,343,344],{"class":50},"(",[36,346,214],{"class":42},[36,348,350],{"class":349},"s4XuR"," age",[36,352,353],{"class":50},")\n",[36,355,356],{"class":38,"line":91},[36,357,358],{"class":50},"    {\n",[36,360,361],{"class":38,"line":98},[36,362,363],{"class":94},"        \u002F\u002F1、当形参和成员变量同名时，可用this指针来区分\n",[36,365,366,369,372,374],{"class":38,"line":107},[36,367,368],{"class":78},"        this",[36,370,371],{"class":50},"->age ",[36,373,75],{"class":42},[36,375,376],{"class":50}," age;\n",[36,378,379],{"class":38,"line":113},[36,380,88],{"class":50},[36,382,383],{"class":38,"line":125},[36,384,208],{"emptyLinePlaceholder":207},[36,386,387,389,392,395,397,400,403],{"class":38,"line":131},[36,388,63],{"class":46},[36,390,391],{"class":42},"&",[36,393,394],{"class":46}," PersonAddPerson",[36,396,344],{"class":50},[36,398,399],{"class":46},"Person",[36,401,402],{"class":349}," p",[36,404,353],{"class":50},[36,406,407],{"class":38,"line":142},[36,408,358],{"class":50},[36,410,411,413,415,418],{"class":38,"line":169},[36,412,368],{"class":78},[36,414,371],{"class":50},[36,416,417],{"class":42},"+=",[36,419,420],{"class":50}," p.age;\n",[36,422,423],{"class":38,"line":174},[36,424,425],{"class":94},"        \u002F\u002F返回对象本身\n",[36,427,428,431,434,437],{"class":38,"line":180},[36,429,430],{"class":42},"        return",[36,432,433],{"class":42}," *",[36,435,436],{"class":78},"this",[36,438,82],{"class":50},[36,440,441],{"class":38,"line":193},[36,442,88],{"class":50},[36,444,445],{"class":38,"line":198},[36,446,208],{"emptyLinePlaceholder":207},[36,448,449,451],{"class":38,"line":204},[36,450,101],{"class":42},[36,452,376],{"class":50},[36,454,455],{"class":38,"line":211},[36,456,201],{"class":50},[36,458,459],{"class":38,"line":222},[36,460,208],{"emptyLinePlaceholder":207},[36,462,463,466,469],{"class":38,"line":227},[36,464,465],{"class":42},"void",[36,467,468],{"class":46}," test01",[36,470,471],{"class":50},"()\n",[36,473,474],{"class":38,"line":245},[36,475,329],{"class":50},[36,477,478,481,484,486,489],{"class":38,"line":250},[36,479,480],{"class":50},"    Person ",[36,482,483],{"class":46},"p1",[36,485,344],{"class":50},[36,487,488],{"class":78},"10",[36,490,491],{"class":50},");\n",[36,493,494,496,498,501,503,506,508],{"class":38,"line":255},[36,495,230],{"class":50},[36,497,148],{"class":42},[36,499,500],{"class":151}," \"p1.age = \"",[36,502,155],{"class":42},[36,504,505],{"class":50}," p1.age ",[36,507,148],{"class":42},[36,509,166],{"class":50},[36,511,512],{"class":38,"line":265},[36,513,208],{"emptyLinePlaceholder":207},[36,515,517,519,522,524,526],{"class":38,"line":516},26,[36,518,480],{"class":50},[36,520,521],{"class":46},"p2",[36,523,344],{"class":50},[36,525,488],{"class":78},[36,527,491],{"class":50},[36,529,531,534,537,540,542,544,546],{"class":38,"line":530},27,[36,532,533],{"class":50},"    p2.",[36,535,536],{"class":46},"PersonAddPerson",[36,538,539],{"class":50},"(p1).",[36,541,536],{"class":46},[36,543,539],{"class":50},[36,545,536],{"class":46},[36,547,548],{"class":50},"(p1);\n",[36,550,552,554,556,559,561,564,566],{"class":38,"line":551},28,[36,553,230],{"class":50},[36,555,148],{"class":42},[36,557,558],{"class":151}," \"p2.age = \"",[36,560,155],{"class":42},[36,562,563],{"class":50}," p2.age ",[36,565,148],{"class":42},[36,567,166],{"class":50},[36,569,571],{"class":38,"line":570},29,[36,572,268],{"class":50},[36,574,576],{"class":38,"line":575},30,[36,577,208],{"emptyLinePlaceholder":207},[36,579,581,583,585],{"class":38,"line":580},31,[36,582,214],{"class":42},[36,584,217],{"class":46},[36,586,66],{"class":50},[36,588,590],{"class":38,"line":589},32,[36,591,208],{"emptyLinePlaceholder":207},[36,593,595,598],{"class":38,"line":594},33,[36,596,597],{"class":46},"    test01",[36,599,600],{"class":50},"();\n",[36,602,604],{"class":38,"line":603},34,[36,605,208],{"emptyLinePlaceholder":207},[36,607,609],{"class":38,"line":608},35,[36,610,208],{"emptyLinePlaceholder":207},[36,612,614,616,618],{"class":38,"line":613},36,[36,615,258],{"class":42},[36,617,79],{"class":78},[36,619,82],{"class":50},[36,621,623],{"class":38,"line":622},37,[36,624,268],{"class":50},[19,626,627,275],{},[272,628,274],{},[15,630,631],{"id":631},"空指针访问成员函数",[19,633,634],{},"C++中空指针也是可以调用成员函数的，但是也要注意有没有用到this指针",[19,636,637],{},"如果用到this指针，需要加以判断保证代码的健壮性",[19,639,640],{},[272,641,642],{},"示例：",[26,644,646],{"className":28,"code":645,"language":30,"meta":31,"style":31},"\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",[33,647,648,653,661,665,669,678,691,695,699,708,727,734,739,752,756,760,764,771,775,779,787,791,807,821,833,837,841,849,853,859,863,867,875],{"__ignoreMap":31},[36,649,650],{"class":38,"line":39},[36,651,652],{"class":94},"\u002F\u002F空指针访问成员函数\n",[36,654,655,657,659],{"class":38,"line":54},[36,656,43],{"class":42},[36,658,47],{"class":46},[36,660,51],{"class":50},[36,662,663],{"class":38,"line":60},[36,664,57],{"class":42},[36,666,667],{"class":38,"line":69},[36,668,208],{"emptyLinePlaceholder":207},[36,670,671,673,676],{"class":38,"line":85},[36,672,134],{"class":42},[36,674,675],{"class":46}," ShowClassName",[36,677,66],{"class":50},[36,679,680,682,684,687,689],{"class":38,"line":91},[36,681,145],{"class":50},[36,683,148],{"class":42},[36,685,686],{"class":151}," \"我是Person类!\"",[36,688,155],{"class":42},[36,690,166],{"class":50},[36,692,693],{"class":38,"line":98},[36,694,88],{"class":50},[36,696,697],{"class":38,"line":107},[36,698,208],{"emptyLinePlaceholder":207},[36,700,701,703,706],{"class":38,"line":113},[36,702,134],{"class":42},[36,704,705],{"class":46}," ShowPerson",[36,707,66],{"class":50},[36,709,710,713,716,718,721,724],{"class":38,"line":125},[36,711,712],{"class":42},"        if",[36,714,715],{"class":50}," (",[36,717,436],{"class":78},[36,719,720],{"class":42}," ==",[36,722,723],{"class":78}," NULL",[36,725,726],{"class":50},") {\n",[36,728,729,732],{"class":38,"line":131},[36,730,731],{"class":42},"            return",[36,733,82],{"class":50},[36,735,736],{"class":38,"line":142},[36,737,738],{"class":50},"        }\n",[36,740,741,743,745,748,750],{"class":38,"line":169},[36,742,145],{"class":50},[36,744,148],{"class":42},[36,746,747],{"class":50}," mAge ",[36,749,148],{"class":42},[36,751,166],{"class":50},[36,753,754],{"class":38,"line":174},[36,755,88],{"class":50},[36,757,758],{"class":38,"line":180},[36,759,208],{"emptyLinePlaceholder":207},[36,761,762],{"class":38,"line":193},[36,763,57],{"class":42},[36,765,766,768],{"class":38,"line":198},[36,767,101],{"class":42},[36,769,770],{"class":50}," mAge;\n",[36,772,773],{"class":38,"line":204},[36,774,201],{"class":50},[36,776,777],{"class":38,"line":211},[36,778,208],{"emptyLinePlaceholder":207},[36,780,781,783,785],{"class":38,"line":222},[36,782,465],{"class":42},[36,784,468],{"class":46},[36,786,471],{"class":50},[36,788,789],{"class":38,"line":227},[36,790,329],{"class":50},[36,792,793,795,798,801,803,805],{"class":38,"line":245},[36,794,480],{"class":50},[36,796,797],{"class":42},"*",[36,799,800],{"class":50}," p ",[36,802,75],{"class":42},[36,804,723],{"class":78},[36,806,82],{"class":50},[36,808,809,812,815,818],{"class":38,"line":250},[36,810,811],{"class":50},"    p->",[36,813,814],{"class":46},"ShowClassName",[36,816,817],{"class":50},"();",[36,819,820],{"class":94}," \u002F\u002F空指针，可以调用成员函数\n",[36,822,823,825,828,830],{"class":38,"line":255},[36,824,811],{"class":50},[36,826,827],{"class":46},"ShowPerson",[36,829,817],{"class":50},[36,831,832],{"class":94},"  \u002F\u002F但是如果成员函数中用到了this指针，就不可以了\n",[36,834,835],{"class":38,"line":265},[36,836,268],{"class":50},[36,838,839],{"class":38,"line":516},[36,840,208],{"emptyLinePlaceholder":207},[36,842,843,845,847],{"class":38,"line":530},[36,844,214],{"class":42},[36,846,217],{"class":46},[36,848,66],{"class":50},[36,850,851],{"class":38,"line":551},[36,852,208],{"emptyLinePlaceholder":207},[36,854,855,857],{"class":38,"line":570},[36,856,597],{"class":46},[36,858,600],{"class":50},[36,860,861],{"class":38,"line":575},[36,862,208],{"emptyLinePlaceholder":207},[36,864,865],{"class":38,"line":580},[36,866,208],{"emptyLinePlaceholder":207},[36,868,869,871,873],{"class":38,"line":589},[36,870,258],{"class":42},[36,872,79],{"class":78},[36,874,82],{"class":50},[36,876,877],{"class":38,"line":594},[36,878,268],{"class":50},[19,880,881,275],{},[272,882,274],{},[15,884,885],{"id":885},"const修饰成员函数",[19,887,888],{},[272,889,890],{},"常函数：",[304,892,893,899,902],{},[307,894,895,896],{},"成员函数后加const后我们称为这个函数为",[272,897,898],{},"常函数",[307,900,901],{},"常函数内不可以修改成员属性",[307,903,904],{},"成员属性声明时加关键字mutable后，在常函数中依然可以修改",[19,906,907],{},[272,908,909],{},"常对象：",[304,911,912,915],{},[307,913,914],{},"声明对象前加const称该对象为常对象",[307,916,917],{},"常对象只能调用常函数",[19,919,920],{},[272,921,642],{},[26,923,925],{"className":28,"code":924,"language":30,"meta":31,"style":31},"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",[33,926,927,935,939,945,956,967,971,975,980,985,999,1004,1012,1020,1024,1029,1043,1047,1051,1064,1069,1073,1077,1081,1088,1101,1105,1109,1114,1122,1126,1137,1150,1158,1173,1177,1182,1195,1200,1205,1210,1219,1224,1231,1236,1241,1250],{"__ignoreMap":31},[36,928,929,931,933],{"class":38,"line":39},[36,930,43],{"class":42},[36,932,47],{"class":46},[36,934,51],{"class":50},[36,936,937],{"class":38,"line":54},[36,938,57],{"class":42},[36,940,941,943],{"class":38,"line":60},[36,942,63],{"class":46},[36,944,66],{"class":50},[36,946,947,950,952,954],{"class":38,"line":69},[36,948,949],{"class":50},"        m_A ",[36,951,75],{"class":42},[36,953,79],{"class":78},[36,955,82],{"class":50},[36,957,958,961,963,965],{"class":38,"line":85},[36,959,960],{"class":50},"        m_B ",[36,962,75],{"class":42},[36,964,79],{"class":78},[36,966,82],{"class":50},[36,968,969],{"class":38,"line":91},[36,970,88],{"class":50},[36,972,973],{"class":38,"line":98},[36,974,208],{"emptyLinePlaceholder":207},[36,976,977],{"class":38,"line":107},[36,978,979],{"class":94},"    \u002F\u002Fthis指针的本质是一个指针常量，指针的指向不可修改\n",[36,981,982],{"class":38,"line":113},[36,983,984],{"class":94},"    \u002F\u002F如果想让指针指向的值也不可以修改，需要声明常函数\n",[36,986,987,989,991,994,997],{"class":38,"line":125},[36,988,134],{"class":42},[36,990,705],{"class":46},[36,992,993],{"class":50},"() ",[36,995,996],{"class":42},"const",[36,998,51],{"class":50},[36,1000,1001],{"class":38,"line":131},[36,1002,1003],{"class":94},"        \u002F\u002Fconst Type* const pointer;\n",[36,1005,1006,1009],{"class":38,"line":142},[36,1007,1008],{"class":94},"        \u002F\u002Fthis = NULL;",[36,1010,1011],{"class":94}," \u002F\u002F不能修改指针的指向 Person* const this;\n",[36,1013,1014,1017],{"class":38,"line":169},[36,1015,1016],{"class":94},"        \u002F\u002Fthis->mA = 100;",[36,1018,1019],{"class":94}," \u002F\u002F但是this指针指向的对象的数据是可以修改的\n",[36,1021,1022],{"class":38,"line":174},[36,1023,208],{"emptyLinePlaceholder":207},[36,1025,1026],{"class":38,"line":180},[36,1027,1028],{"class":94},"        \u002F\u002Fconst修饰成员函数，表示指针指向的内存空间的数据不能修改，除了mutable修饰的变量\n",[36,1030,1031,1033,1036,1038,1041],{"class":38,"line":193},[36,1032,368],{"class":78},[36,1034,1035],{"class":50},"->m_B ",[36,1037,75],{"class":42},[36,1039,1040],{"class":78}," 100",[36,1042,82],{"class":50},[36,1044,1045],{"class":38,"line":198},[36,1046,88],{"class":50},[36,1048,1049],{"class":38,"line":204},[36,1050,208],{"emptyLinePlaceholder":207},[36,1052,1053,1055,1058,1060,1062],{"class":38,"line":211},[36,1054,134],{"class":42},[36,1056,1057],{"class":46}," MyFunc",[36,1059,993],{"class":50},[36,1061,996],{"class":42},[36,1063,51],{"class":50},[36,1065,1066],{"class":38,"line":222},[36,1067,1068],{"class":94},"        \u002F\u002FmA = 10000;\n",[36,1070,1071],{"class":38,"line":227},[36,1072,88],{"class":50},[36,1074,1075],{"class":38,"line":245},[36,1076,208],{"emptyLinePlaceholder":207},[36,1078,1079],{"class":38,"line":250},[36,1080,57],{"class":42},[36,1082,1083,1085],{"class":38,"line":255},[36,1084,101],{"class":42},[36,1086,1087],{"class":50}," m_A;\n",[36,1089,1090,1093,1095,1098],{"class":38,"line":265},[36,1091,1092],{"class":42},"    mutable",[36,1094,119],{"class":42},[36,1096,1097],{"class":50}," m_B;",[36,1099,1100],{"class":94}," \u002F\u002F可修改 可变的\n",[36,1102,1103],{"class":38,"line":516},[36,1104,201],{"class":50},[36,1106,1107],{"class":38,"line":530},[36,1108,208],{"emptyLinePlaceholder":207},[36,1110,1111],{"class":38,"line":551},[36,1112,1113],{"class":94},"\u002F\u002Fconst修饰对象  常对象\n",[36,1115,1116,1118,1120],{"class":38,"line":570},[36,1117,465],{"class":42},[36,1119,468],{"class":46},[36,1121,66],{"class":50},[36,1123,1124],{"class":38,"line":575},[36,1125,208],{"emptyLinePlaceholder":207},[36,1127,1128,1131,1134],{"class":38,"line":580},[36,1129,1130],{"class":42},"    const",[36,1132,1133],{"class":50}," Person person;",[36,1135,1136],{"class":94}," \u002F\u002F常量对象  \n",[36,1138,1139,1141,1143,1146,1148],{"class":38,"line":589},[36,1140,230],{"class":50},[36,1142,148],{"class":42},[36,1144,1145],{"class":50}," person.m_A ",[36,1147,148],{"class":42},[36,1149,166],{"class":50},[36,1151,1152,1155],{"class":38,"line":594},[36,1153,1154],{"class":94},"    \u002F\u002Fperson.mA = 100;",[36,1156,1157],{"class":94}," \u002F\u002F常对象不能修改成员变量的值,但是可以访问\n",[36,1159,1160,1163,1165,1167,1170],{"class":38,"line":603},[36,1161,1162],{"class":50},"    person.m_B ",[36,1164,75],{"class":42},[36,1166,1040],{"class":78},[36,1168,1169],{"class":50},";",[36,1171,1172],{"class":94}," \u002F\u002F但是常对象可以修改mutable修饰成员变量\n",[36,1174,1175],{"class":38,"line":608},[36,1176,208],{"emptyLinePlaceholder":207},[36,1178,1179],{"class":38,"line":613},[36,1180,1181],{"class":94},"    \u002F\u002F常对象访问成员函数\n",[36,1183,1184,1187,1190,1192],{"class":38,"line":622},[36,1185,1186],{"class":50},"    person.",[36,1188,1189],{"class":46},"MyFunc",[36,1191,817],{"class":50},[36,1193,1194],{"class":94}," \u002F\u002F常对象不能调用const的函数\n",[36,1196,1198],{"class":38,"line":1197},38,[36,1199,208],{"emptyLinePlaceholder":207},[36,1201,1203],{"class":38,"line":1202},39,[36,1204,268],{"class":50},[36,1206,1208],{"class":38,"line":1207},40,[36,1209,208],{"emptyLinePlaceholder":207},[36,1211,1213,1215,1217],{"class":38,"line":1212},41,[36,1214,214],{"class":42},[36,1216,217],{"class":46},[36,1218,66],{"class":50},[36,1220,1222],{"class":38,"line":1221},42,[36,1223,208],{"emptyLinePlaceholder":207},[36,1225,1227,1229],{"class":38,"line":1226},43,[36,1228,597],{"class":46},[36,1230,600],{"class":50},[36,1232,1234],{"class":38,"line":1233},44,[36,1235,208],{"emptyLinePlaceholder":207},[36,1237,1239],{"class":38,"line":1238},45,[36,1240,208],{"emptyLinePlaceholder":207},[36,1242,1244,1246,1248],{"class":38,"line":1243},46,[36,1245,258],{"class":42},[36,1247,79],{"class":78},[36,1249,82],{"class":50},[36,1251,1253],{"class":38,"line":1252},47,[36,1254,268],{"class":50},[19,1256,1257,275],{},[272,1258,274],{},[1260,1261,1262],"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":31,"searchDepth":54,"depth":54,"links":1264},[1265],{"id":12,"depth":60,"text":13},"1400-0300","2023-10-05","2023-10-05-cplusplus-jiao-xue","\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue","Cplusplus教学","md",false,{},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen",{"title":5,"description":31},"wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0300-对象模型与this指针","m8CABiT5wbsBEr1CyRsp4-poimGQyjXE1QhAVFHr7zM",[1279,1285,1290,1295,1300,1305,1310,1315,1320,1325,1330,1335,1340,1345,1350,1355,1356,1361,1366,1371,1376,1381,1386,1391,1396,1401,1406,1411,1416,1421,1426,1431,1436,1441,1446,1451,1456,1461,1466,1471,1476,1481,1486,1491,1496,1501,1506,1511,1516,1521,1526,1531,1536,1541,1546,1551,1556,1561,1566,1571,1576,1581,1586,1591,1596,1601,1606,1611,1616,1621,1626,1631,1636,1641,1646,1651,1656,1661],{"path":1280,"stem":1281,"title":1282,"date":1267,"chapterOrder":1283,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0100-c-kai-fa-huan-jing-da-jian-yu-ce-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F0100-C++开发环境搭建与测试","C++开发环境搭建与测试","0100",0,{"path":1286,"stem":1287,"title":1288,"date":1267,"chapterOrder":1289,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F0200-C++基础初识","C++基础初识","0200",{"path":1291,"stem":1292,"title":1293,"date":1267,"chapterOrder":1294,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0300-shu-ju-lei-xing-yu-shu-ju-cun-fang","wiki\u002F2023-10-05-Cplusplus教学\u002F0300-数据类型与数据存放","数据类型与数据存放","0300",{"path":1296,"stem":1297,"title":1298,"date":1267,"chapterOrder":1299,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0400-shu-ru-shu-chu","wiki\u002F2023-10-05-Cplusplus教学\u002F0400-输入输出","输入输出","0400",{"path":1301,"stem":1302,"title":1303,"date":1267,"chapterOrder":1304,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0500-yun-suan-fu","wiki\u002F2023-10-05-Cplusplus教学\u002F0500-运算符","运算符","0500",{"path":1306,"stem":1307,"title":1308,"date":1267,"chapterOrder":1309,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0600-cheng-xu-liu-cheng-jie-gou","wiki\u002F2023-10-05-Cplusplus教学\u002F0600-程序流程结构","程序流程结构","0600",{"path":1311,"stem":1312,"title":1313,"date":1267,"chapterOrder":1314,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0700-shu-zu","wiki\u002F2023-10-05-Cplusplus教学\u002F0700-数组","数组","0700",{"path":1316,"stem":1317,"title":1318,"date":1267,"chapterOrder":1319,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0800-han-shu-yu-tou-wen-jian","wiki\u002F2023-10-05-Cplusplus教学\u002F0800-函数与头文件","函数与头文件","0800",{"path":1321,"stem":1322,"title":1323,"date":1267,"chapterOrder":1324,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0900-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F0900-指针","指针","0900",{"path":1326,"stem":1327,"title":1328,"date":1267,"chapterOrder":1329,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1000-jie-gou-ti-yu-gong-yong-ti","wiki\u002F2023-10-05-Cplusplus教学\u002F1000-结构体与共用体","结构体与共用体","1000",{"path":1331,"stem":1332,"title":1333,"date":1267,"chapterOrder":1334,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1100-nei-cun-fen-qu-yu-sheng-ming-zhou-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1100-内存分区与生命周期","内存分区与生命周期","1100",{"path":1336,"stem":1337,"title":1338,"date":1267,"chapterOrder":1339,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","wiki\u002F2023-10-05-Cplusplus教学\u002F1200-引用","引用","1200",{"path":1341,"stem":1342,"title":1343,"date":1267,"chapterOrder":1344,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1300-han-shu-ti-gao-yu-ming-ming-kong-jian","wiki\u002F2023-10-05-Cplusplus教学\u002F1300-函数提高与命名空间","函数提高与命名空间","1300",{"path":1346,"stem":1347,"title":1348,"date":1267,"chapterOrder":1349,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0100-feng-zhuang","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0100-封装","封装","1400-0100",{"path":1351,"stem":1352,"title":1353,"date":1267,"chapterOrder":1354,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0200-dui-xiang-chu-shi-hua-he-qing-li","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0200-对象初始化和清理","对象初始化和清理","1400-0200",{"path":1274,"stem":1276,"title":5,"date":1267,"chapterOrder":1266,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},{"path":1357,"stem":1358,"title":1359,"date":1267,"chapterOrder":1360,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0400-you-yuan-yu-yun-suan-fu-zhong-zai","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0400-友元与运算符重载","友元与运算符重载","1400-0400",{"path":1362,"stem":1363,"title":1364,"date":1267,"chapterOrder":1365,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0500-ji-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0500-继承","继承","1400-0500",{"path":1367,"stem":1368,"title":1369,"date":1267,"chapterOrder":1370,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0600-duo-tai","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0600-多态","多态","1400-0600",{"path":1372,"stem":1373,"title":1374,"date":1267,"chapterOrder":1375,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-lei-he-dui-xiang","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-类和对象","类和对象","1400",{"path":1377,"stem":1378,"title":1379,"date":1267,"chapterOrder":1380,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1500-wen-jian-cao-zuo","wiki\u002F2023-10-05-Cplusplus教学\u002F1500-文件操作","文件操作","1500",{"path":1382,"stem":1383,"title":1384,"date":1267,"chapterOrder":1385,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1600-yi-chang-chu-li-yu-cuo-wu-ma","wiki\u002F2023-10-05-Cplusplus教学\u002F1600-异常处理与错误码","异常处理","1600",{"path":1387,"stem":1388,"title":1389,"date":1267,"chapterOrder":1390,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1700-mu-ban","wiki\u002F2023-10-05-Cplusplus教学\u002F1700-模板","模板","1700",{"path":1392,"stem":1393,"title":1394,"date":1267,"chapterOrder":1395,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0100-stl-chu-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0100-STL初识","STL初识","1800-0100",{"path":1397,"stem":1398,"title":1399,"date":1267,"chapterOrder":1400,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0200-std-array","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0200-std-array","std::array","1800-0200",{"path":1402,"stem":1403,"title":1404,"date":1267,"chapterOrder":1405,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0300-string-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0300-string容器","string容器","1800-0300",{"path":1407,"stem":1408,"title":1409,"date":1267,"chapterOrder":1410,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0400-vector-yu-deque-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0400-vector与deque容器","vector与deque容器","1800-0400",{"path":1412,"stem":1413,"title":1414,"date":1267,"chapterOrder":1415,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0500-stack-queue-list-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0500-stack-queue-list容器","stack \u002F queue \u002F list 容器","1800-0500",{"path":1417,"stem":1418,"title":1419,"date":1267,"chapterOrder":1420,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0600-set-map-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0600-set-map容器","set \u002F map 容器","1800-0600",{"path":1422,"stem":1423,"title":1424,"date":1267,"chapterOrder":1425,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0700-han-shu-dui-xiang-yu-wei-ci","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0700-函数对象与谓词","函数对象与谓词","1800-0700",{"path":1427,"stem":1428,"title":1429,"date":1267,"chapterOrder":1430,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0800-chang-yong-suan-fa","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0800-常用算法","常用算法","1800-0800",{"path":1432,"stem":1433,"title":1434,"date":1267,"chapterOrder":1435,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-stl-ti-gao-bian-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-STL提高编程","STL提高编程","1800",{"path":1437,"stem":1438,"title":1439,"date":1267,"chapterOrder":1440,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1900-c-lei-xing-zhuan-huan","wiki\u002F2023-10-05-Cplusplus教学\u002F1900-C++类型转换","C++类型转换","1900",{"path":1442,"stem":1443,"title":1444,"date":1267,"chapterOrder":1445,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0100-auto","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0100-auto","auto","2000-0100",{"path":1447,"stem":1448,"title":1449,"date":1267,"chapterOrder":1450,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0200-nullptr","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0200-nullptr","nullptr","2000-0200",{"path":1452,"stem":1453,"title":1454,"date":1267,"chapterOrder":1455,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0300-using","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0300-using","using","2000-0300",{"path":1457,"stem":1458,"title":1459,"date":1267,"chapterOrder":1460,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0400-enum-class","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0400-enum-class","enum class","2000-0400",{"path":1462,"stem":1463,"title":1464,"date":1267,"chapterOrder":1465,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0500-fan-wei-for-xun-huan","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0500-范围for循环","范围 for 循环","2000-0500",{"path":1467,"stem":1468,"title":1469,"date":1267,"chapterOrder":1470,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0600-jie-gou-hua-bang-ding","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0600-结构化绑定","结构化绑定","2000-0600",{"path":1472,"stem":1473,"title":1474,"date":1267,"chapterOrder":1475,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0700-constexpr","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0700-constexpr","constexpr","2000-0700",{"path":1477,"stem":1478,"title":1479,"date":1267,"chapterOrder":1480,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0800-raii","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0800-RAII","RAII","2000-0800",{"path":1482,"stem":1483,"title":1484,"date":1267,"chapterOrder":1485,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0900-zhi-neng-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0900-智能指针","智能指针","2000-0900",{"path":1487,"stem":1488,"title":1489,"date":1267,"chapterOrder":1490,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1000-you-zhi-yin-yong-he-yi-dong-yu-yi","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1000-右值引用和移动语义","右值引用和移动语义","2000-1000",{"path":1492,"stem":1493,"title":1494,"date":1267,"chapterOrder":1495,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1100-lambda-biao-da-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1100-Lambda表达式","Lambda 表达式","2000-1100",{"path":1497,"stem":1498,"title":1499,"date":1267,"chapterOrder":1500,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1200-std-function","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1200-std-function","std::function","2000-1200",{"path":1502,"stem":1503,"title":1504,"date":1267,"chapterOrder":1505,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1300-std-bind","std::bind","2000-1300",{"path":1507,"stem":1508,"title":1509,"date":1267,"chapterOrder":1510,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1400-std-optional","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1400-std-optional","std::optional","2000-1400",{"path":1512,"stem":1513,"title":1514,"date":1267,"chapterOrder":1515,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1500-std-variant","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1500-std-variant","std::variant","2000-1500",{"path":1517,"stem":1518,"title":1519,"date":1267,"chapterOrder":1520,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1600-std-span","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1600-std-span","std::span","2000-1600",{"path":1522,"stem":1523,"title":1524,"date":1267,"chapterOrder":1525,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1700-std-format-print","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1700-std-format-print","std::format \u002F std::print","2000-1700",{"path":1527,"stem":1528,"title":1529,"date":1267,"chapterOrder":1530,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1800-std-chrono","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1800-std-chrono","std::chrono","2000-1800",{"path":1532,"stem":1533,"title":1534,"date":1267,"chapterOrder":1535,"chapterDepth":54,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0100-std-thread","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0100-std-thread","std::thread 与 join","2000-1900-0100",{"path":1537,"stem":1538,"title":1539,"date":1267,"chapterOrder":1540,"chapterDepth":54,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0200-mutex-lock-guard","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0200-mutex-lock-guard","mutex 与 lock_guard","2000-1900-0200",{"path":1542,"stem":1543,"title":1544,"date":1267,"chapterOrder":1545,"chapterDepth":54,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0300-std-atomic","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0300-std-atomic","std::atomic","2000-1900-0300",{"path":1547,"stem":1548,"title":1549,"date":1267,"chapterOrder":1550,"chapterDepth":54,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0400-condition-variable","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0400-condition-variable","condition_variable","2000-1900-0400",{"path":1552,"stem":1553,"title":1554,"date":1267,"chapterOrder":1555,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bian-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-并发编程","并发编程","2000-1900",{"path":1557,"stem":1558,"title":1559,"date":1267,"chapterOrder":1560,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2000-std-filesystem","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-2000-std-filesystem","std::filesystem","2000-2000",{"path":1562,"stem":1563,"title":1564,"date":1267,"chapterOrder":1565,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2100-modules-jian-jie","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-2100-modules简介","modules 简介","2000-2100",{"path":1567,"stem":1568,"title":1569,"date":1267,"chapterOrder":1570,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-现代C++","现代C++","2000",{"path":1572,"stem":1573,"title":1574,"date":1267,"chapterOrder":1575,"chapterDepth":54,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0100-ding-shi-qi-yu-yi-bu-io","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0100-定时器与异步IO","定时器与异步 IO","2100-0100-0100",{"path":1577,"stem":1578,"title":1579,"date":1267,"chapterOrder":1580,"chapterDepth":54,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0200-boost-asio-ji-chu","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0200-Boost.Asio基础","Boost.Asio 基础","2100-0100-0200",{"path":1582,"stem":1583,"title":1584,"date":1267,"chapterOrder":1585,"chapterDepth":54,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0300-chuan-kou-tong-xin","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0300-串口通信","串口通信","2100-0100-0300",{"path":1587,"stem":1588,"title":1589,"date":1267,"chapterOrder":1590,"chapterDepth":54,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0400-tcp-tong-xin","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0400-TCP通信","TCP 通信","2100-0100-0400",{"path":1592,"stem":1593,"title":1594,"date":1267,"chapterOrder":1595,"chapterDepth":54,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0500-udp-tong-xin","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0500-UDP通信","UDP 通信","2100-0100-0500",{"path":1597,"stem":1598,"title":1599,"date":1267,"chapterOrder":1600,"chapterDepth":54,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0600-ji-qi-ren-gong-cheng-xie-fa-yu-ros2-ji-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0600-机器人工程写法与ROS2集成","机器人工程写法与 ROS2 集成","2100-0100-0600",{"path":1602,"stem":1603,"title":1604,"date":1267,"chapterOrder":1605,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-boost-asio-yi-bu-io-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-Boost.Asio异步IO库","Boost.Asio异步IO库","2100-0100",{"path":1607,"stem":1608,"title":1609,"date":1267,"chapterOrder":1610,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0200-eigen-xian-xing-dai-shu-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0200-Eigen线性代数库","Eigen线性代数库","2100-0200",{"path":1612,"stem":1613,"title":1614,"date":1267,"chapterOrder":1615,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0300-opencv-ji-suan-ji-shi-jue-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0300-OpenCV计算机视觉库","OpenCV计算机视觉库","2100-0300",{"path":1617,"stem":1618,"title":1619,"date":1267,"chapterOrder":1620,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0400-pcl-dian-yun-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0400-PCL点云库","PCL点云库","2100-0400",{"path":1622,"stem":1623,"title":1624,"date":1267,"chapterOrder":1625,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0500-sophus-li-qun-li-dai-shu-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0500-Sophus李群李代数库","Sophus 李群李代数库","2100-0500",{"path":1627,"stem":1628,"title":1629,"date":1267,"chapterOrder":1630,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-chang-yong-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-常用库","常用库学习","2100",{"path":1632,"stem":1633,"title":1634,"date":1267,"chapterOrder":1635,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0100-cmakepresets-yu-gou-jian-an-zhuang","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0100-CMakePresets与构建安装","CMakePresets与构建安装","2200-0100",{"path":1637,"stem":1638,"title":1639,"date":1267,"chapterOrder":1640,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0200-ding-ceng-cmake-yu-gong-gong-bian-yi-xuan-xiang","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0200-顶层CMake与公共编译选项","顶层CMake与公共编译选项","2200-0200",{"path":1642,"stem":1643,"title":1644,"date":1267,"chapterOrder":1645,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0300-src-yu-lib-mo-kuai-cmake-xiang-jie","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0300-src与lib模块CMake详解","src与lib模块CMake详解","2200-0300",{"path":1647,"stem":1648,"title":1649,"date":1267,"chapterOrder":1650,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0400-di-san-fang-ku-yi-lai-xie-fa","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0400-第三方库依赖写法","第三方库依赖写法","2200-0400",{"path":1652,"stem":1653,"title":1654,"date":1267,"chapterOrder":1655,"chapterDepth":39,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0500-mu-ban-kuo-zhan-yu-chang-jian-wen-ti","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0500-模板扩展与常见问题","模板扩展与常见问题","2200-0500",{"path":1657,"stem":1658,"title":1659,"date":1267,"chapterOrder":1660,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":1272},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-cmake-gong-cheng-mu-ban","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-CMake工程模板","CMake工程模板","2200",{"path":1269,"stem":1662,"title":1663,"date":1267,"chapterOrder":1664,"chapterDepth":1284,"docKey":1268,"docRoot":1269,"docTitle":1270,"isWikiDoc":207,"isWikiIndex":207},"wiki\u002F2023-10-05-Cplusplus教学\u002Findex","C\u002FC++教程",null,1784505233126]