[{"data":1,"prerenderedAt":1713},["ShallowReactive",2],{"wiki-page-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen":3,"wiki-doc-items-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen":1284,"language-switcher-data-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen":1697,"wiki-i18n-paths-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen":1712},{"id":4,"title":5,"body":6,"canonicalPath":1266,"chapter":1267,"chapterSort":1268,"date":1269,"description":31,"docI18nKey":1270,"docKey":1271,"docRoot":1272,"docTitle":1273,"extension":1274,"i18nKey":1275,"isBlogPost":1276,"isWikiDoc":207,"isWikiIndex":1276,"layout":1277,"legacyPath":1278,"locale":1279,"localeSlug":1280,"meta":1281,"navigation":207,"path":1266,"seo":1282,"sourcePath":1278,"sourceStem":1275,"stem":1275,"wikiDepth":39,"__hash__":1283},"content/wiki/2023-10-05-Cplusplus教学/ch13-3-对象模型与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    //非静态成员变量占对象空间\n    int mA;\n    //静态成员变量不占对象空间\n    static int mB; \n    //函数也不占对象空间，所有函数共享一个函数实例\n    void func() {\n        cout \u003C\u003C \"mA:\" \u003C\u003C this->mA \u003C\u003C endl;\n    }\n    //静态成员函数也不占对象空间\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","    //非静态成员变量占对象空间\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},"    //静态成员变量不占对象空间\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},"    //函数也不占对象空间，所有函数共享一个函数实例\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},"    //静态成员函数也不占对象空间\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",{},"运行/观察结果："," 运行后会打印示例中的变量值或地址；地址值与运行环境有关，以同类对象的相对位置和指针变化为观察重点。",[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        //1、当形参和成员变量同名时，可用this指针来区分\n        this->age = age;\n    }\n\n    Person& PersonAddPerson(Person p)\n    {\n        this->age += p.age;\n        //返回对象本身\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},"        //1、当形参和成员变量同名时，可用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},"        //返回对象本身\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},"//空指针访问成员函数\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(); //空指针，可以调用成员函数\n    p->ShowPerson();  //但是如果成员函数中用到了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},"//空指针访问成员函数\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}," //空指针，可以调用成员函数\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},"  //但是如果成员函数中用到了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    //this指针的本质是一个指针常量，指针的指向不可修改\n    //如果想让指针指向的值也不可以修改，需要声明常函数\n    void ShowPerson() const {\n        //const Type* const pointer;\n        //this = NULL; //不能修改指针的指向 Person* const this;\n        //this->mA = 100; //但是this指针指向的对象的数据是可以修改的\n\n        //const修饰成员函数，表示指针指向的内存空间的数据不能修改，除了mutable修饰的变量\n        this->m_B = 100;\n    }\n\n    void MyFunc() const {\n        //mA = 10000;\n    }\n\npublic:\n    int m_A;\n    mutable int m_B; //可修改 可变的\n};\n\n//const修饰对象  常对象\nvoid test01() {\n\n    const Person person; //常量对象  \n    cout \u003C\u003C person.m_A \u003C\u003C endl;\n    //person.mA = 100; //常对象不能修改成员变量的值,但是可以访问\n    person.m_B = 100; //但是常对象可以修改mutable修饰成员变量\n\n    //常对象访问成员函数\n    person.MyFunc(); //常对象不能调用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},"    //this指针的本质是一个指针常量，指针的指向不可修改\n",[36,981,982],{"class":38,"line":113},[36,983,984],{"class":94},"    //如果想让指针指向的值也不可以修改，需要声明常函数\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},"        //const Type* const pointer;\n",[36,1005,1006,1009],{"class":38,"line":142},[36,1007,1008],{"class":94},"        //this = NULL;",[36,1010,1011],{"class":94}," //不能修改指针的指向 Person* const this;\n",[36,1013,1014,1017],{"class":38,"line":169},[36,1015,1016],{"class":94},"        //this->mA = 100;",[36,1018,1019],{"class":94}," //但是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},"        //const修饰成员函数，表示指针指向的内存空间的数据不能修改，除了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},"        //mA = 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}," //可修改 可变的\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},"//const修饰对象  常对象\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}," //常量对象  \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},"    //person.mA = 100;",[36,1156,1157],{"class":94}," //常对象不能修改成员变量的值,但是可以访问\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}," //但是常对象可以修改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},"    //常对象访问成员函数\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}," //常对象不能调用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},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen","13.3",13030000,"2023-10-05","wiki/2023-10-05-cplusplus-jiao-xue","zh-cn:2023-10-05-cplusplus-jiao-xue","/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue","Cplusplus教学","md","wiki/2023-10-05-Cplusplus教学/ch13-3-对象模型与this指针",false,null,"/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen","zh-CN","zh-cn",{},{"title":5,"description":31},"-NPW_u31QehDerlrtRo-NI_ZGlHHsC4vMr6UEk0JY1s",[1285,1291,1296,1302,1308,1314,1320,1321,1327,1333,1339,1345,1351,1357,1363,1369,1375,1381,1387,1393,1399,1405,1411,1417,1423,1429,1435,1441,1447,1453,1459,1465,1471,1477,1483,1489,1495,1501,1507,1513,1519,1525,1531,1537,1543,1549,1555,1561,1567,1573,1579,1585,1591,1597,1603,1609,1615,1621,1627,1633,1639,1645,1651,1657,1663,1669,1675,1681,1687,1693],{"path":1286,"stem":1287,"title":1288,"date":1269,"chapter":1289,"chapterSort":1290,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch1-c-ji-chu-chu-shi","wiki/2023-10-05-Cplusplus教学/ch1-C++基础初识","C++基础初识","1",1000000,{"path":1292,"stem":1293,"title":1294,"date":1269,"chapter":488,"chapterSort":1295,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch10-nei-cun-fen-qu-yu-sheng-ming-zhou-qi","wiki/2023-10-05-Cplusplus教学/ch10-内存分区与生命周期","内存分区与生命周期",10000000,{"path":1297,"stem":1298,"title":1299,"date":1269,"chapter":1300,"chapterSort":1301,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch11-yin-yong","wiki/2023-10-05-Cplusplus教学/ch11-引用","引用","11",11000000,{"path":1303,"stem":1304,"title":1305,"date":1269,"chapter":1306,"chapterSort":1307,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch12-han-shu-ti-gao-yu-ming-ming-kong-jian","wiki/2023-10-05-Cplusplus教学/ch12-函数提高与命名空间","函数提高与命名空间","12",12000000,{"path":1309,"stem":1310,"title":1311,"date":1269,"chapter":1312,"chapterSort":1313,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang","wiki/2023-10-05-Cplusplus教学/ch13-1-封装","封装","13.1",13010000,{"path":1315,"stem":1316,"title":1317,"date":1269,"chapter":1318,"chapterSort":1319,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-2-dui-xiang-chu-shi-hua-he-qing-li","wiki/2023-10-05-Cplusplus教学/ch13-2-对象初始化和清理","对象初始化和清理","13.2",13020000,{"path":1266,"stem":1275,"title":5,"date":1269,"chapter":1267,"chapterSort":1268,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},{"path":1322,"stem":1323,"title":1324,"date":1269,"chapter":1325,"chapterSort":1326,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-4-you-yuan-yu-yun-suan-fu-zhong-zai","wiki/2023-10-05-Cplusplus教学/ch13-4-友元与运算符重载","友元与运算符重载","13.4",13040000,{"path":1328,"stem":1329,"title":1330,"date":1269,"chapter":1331,"chapterSort":1332,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-5-ji-cheng","wiki/2023-10-05-Cplusplus教学/ch13-5-继承","继承","13.5",13050000,{"path":1334,"stem":1335,"title":1336,"date":1269,"chapter":1337,"chapterSort":1338,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-6-duo-tai","wiki/2023-10-05-Cplusplus教学/ch13-6-多态","多态","13.6",13060000,{"path":1340,"stem":1341,"title":1342,"date":1269,"chapter":1343,"chapterSort":1344,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-lei-he-dui-xiang","wiki/2023-10-05-Cplusplus教学/ch13-类和对象","类和对象","13",13000000,{"path":1346,"stem":1347,"title":1348,"date":1269,"chapter":1349,"chapterSort":1350,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch14-wen-jian-cao-zuo","wiki/2023-10-05-Cplusplus教学/ch14-文件操作","文件操作","14",14000000,{"path":1352,"stem":1353,"title":1354,"date":1269,"chapter":1355,"chapterSort":1356,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch15-mu-ban","wiki/2023-10-05-Cplusplus教学/ch15-模板","模板","15",15000000,{"path":1358,"stem":1359,"title":1360,"date":1269,"chapter":1361,"chapterSort":1362,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-1-stl-chu-shi","wiki/2023-10-05-Cplusplus教学/ch16-1-STL初识","STL初识","16.1",16010000,{"path":1364,"stem":1365,"title":1366,"date":1269,"chapter":1367,"chapterSort":1368,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-2-std-array","wiki/2023-10-05-Cplusplus教学/ch16-2-std-array","std::array","16.2",16020000,{"path":1370,"stem":1371,"title":1372,"date":1269,"chapter":1373,"chapterSort":1374,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-3-string容器","string容器","16.3",16030000,{"path":1376,"stem":1377,"title":1378,"date":1269,"chapter":1379,"chapterSort":1380,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-4-vector-yu-deque-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-4-vector与deque容器","vector与deque容器","16.4",16040000,{"path":1382,"stem":1383,"title":1384,"date":1269,"chapter":1385,"chapterSort":1386,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-5-stack-queue-list-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-5-stack-queue-list容器","stack / queue / list 容器","16.5",16050000,{"path":1388,"stem":1389,"title":1390,"date":1269,"chapter":1391,"chapterSort":1392,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-6-set-map-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-6-set-map容器","set / map 容器","16.6",16060000,{"path":1394,"stem":1395,"title":1396,"date":1269,"chapter":1397,"chapterSort":1398,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-7-han-shu-dui-xiang-yu-wei-ci","wiki/2023-10-05-Cplusplus教学/ch16-7-函数对象与谓词","函数对象与谓词","16.7",16070000,{"path":1400,"stem":1401,"title":1402,"date":1269,"chapter":1403,"chapterSort":1404,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-8-chang-yong-suan-fa","wiki/2023-10-05-Cplusplus教学/ch16-8-常用算法","常用算法","16.8",16080000,{"path":1406,"stem":1407,"title":1408,"date":1269,"chapter":1409,"chapterSort":1410,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-stl-ti-gao-bian-cheng","wiki/2023-10-05-Cplusplus教学/ch16-STL提高编程","STL提高编程","16",16000000,{"path":1412,"stem":1413,"title":1414,"date":1269,"chapter":1415,"chapterSort":1416,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch17-c-lei-xing-zhuan-huan","wiki/2023-10-05-Cplusplus教学/ch17-C++类型转换","C++类型转换","17",17000000,{"path":1418,"stem":1419,"title":1420,"date":1269,"chapter":1421,"chapterSort":1422,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-1-auto","wiki/2023-10-05-Cplusplus教学/ch18-1-auto","auto","18.1",18010000,{"path":1424,"stem":1425,"title":1426,"date":1269,"chapter":1427,"chapterSort":1428,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-10-you-zhi-yin-yong-he-yi-dong-yu-yi","wiki/2023-10-05-Cplusplus教学/ch18-10-右值引用和移动语义","右值引用和移动语义","18.10",18100000,{"path":1430,"stem":1431,"title":1432,"date":1269,"chapter":1433,"chapterSort":1434,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-11-lambda-biao-da-shi","wiki/2023-10-05-Cplusplus教学/ch18-11-Lambda表达式","Lambda 表达式","18.11",18110000,{"path":1436,"stem":1437,"title":1438,"date":1269,"chapter":1439,"chapterSort":1440,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-12-std-function","wiki/2023-10-05-Cplusplus教学/ch18-12-std-function","std::function","18.12",18120000,{"path":1442,"stem":1443,"title":1444,"date":1269,"chapter":1445,"chapterSort":1446,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-13-std-bind","wiki/2023-10-05-Cplusplus教学/ch18-13-std-bind","std::bind","18.13",18130000,{"path":1448,"stem":1449,"title":1450,"date":1269,"chapter":1451,"chapterSort":1452,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-14-std-optional","wiki/2023-10-05-Cplusplus教学/ch18-14-std-optional","std::optional","18.14",18140000,{"path":1454,"stem":1455,"title":1456,"date":1269,"chapter":1457,"chapterSort":1458,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-15-std-variant","wiki/2023-10-05-Cplusplus教学/ch18-15-std-variant","std::variant","18.15",18150000,{"path":1460,"stem":1461,"title":1462,"date":1269,"chapter":1463,"chapterSort":1464,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-16-std-span","wiki/2023-10-05-Cplusplus教学/ch18-16-std-span","std::span","18.16",18160000,{"path":1466,"stem":1467,"title":1468,"date":1269,"chapter":1469,"chapterSort":1470,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print","wiki/2023-10-05-Cplusplus教学/ch18-17-std-format-print","std::format / std::print","18.17",18170000,{"path":1472,"stem":1473,"title":1474,"date":1269,"chapter":1475,"chapterSort":1476,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-18-std-chrono","wiki/2023-10-05-Cplusplus教学/ch18-18-std-chrono","std::chrono","18.18",18180000,{"path":1478,"stem":1479,"title":1480,"date":1269,"chapter":1481,"chapterSort":1482,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-1-std-thread","wiki/2023-10-05-Cplusplus教学/ch18-19-1-std-thread","std::thread 与 join","18.19.1",18190100,{"path":1484,"stem":1485,"title":1486,"date":1269,"chapter":1487,"chapterSort":1488,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-2-mutex-lock-guard","wiki/2023-10-05-Cplusplus教学/ch18-19-2-mutex-lock-guard","mutex 与 lock_guard","18.19.2",18190200,{"path":1490,"stem":1491,"title":1492,"date":1269,"chapter":1493,"chapterSort":1494,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-3-std-atomic","wiki/2023-10-05-Cplusplus教学/ch18-19-3-std-atomic","std::atomic","18.19.3",18190300,{"path":1496,"stem":1497,"title":1498,"date":1269,"chapter":1499,"chapterSort":1500,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-4-condition-variable","wiki/2023-10-05-Cplusplus教学/ch18-19-4-condition-variable","condition_variable","18.19.4",18190400,{"path":1502,"stem":1503,"title":1504,"date":1269,"chapter":1505,"chapterSort":1506,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-bing-fa-bian-cheng","wiki/2023-10-05-Cplusplus教学/ch18-19-并发编程","并发编程","18.19",18190000,{"path":1508,"stem":1509,"title":1510,"date":1269,"chapter":1511,"chapterSort":1512,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-2-nullptr","wiki/2023-10-05-Cplusplus教学/ch18-2-nullptr","nullptr","18.2",18020000,{"path":1514,"stem":1515,"title":1516,"date":1269,"chapter":1517,"chapterSort":1518,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-20-std-filesystem","wiki/2023-10-05-Cplusplus教学/ch18-20-std-filesystem","std::filesystem","18.20",18200000,{"path":1520,"stem":1521,"title":1522,"date":1269,"chapter":1523,"chapterSort":1524,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-21-modules-jian-jie","wiki/2023-10-05-Cplusplus教学/ch18-21-modules简介","modules 简介","18.21",18210000,{"path":1526,"stem":1527,"title":1528,"date":1269,"chapter":1529,"chapterSort":1530,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-3-using","wiki/2023-10-05-Cplusplus教学/ch18-3-using","using","18.3",18030000,{"path":1532,"stem":1533,"title":1534,"date":1269,"chapter":1535,"chapterSort":1536,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-4-enum-class","wiki/2023-10-05-Cplusplus教学/ch18-4-enum-class","enum class","18.4",18040000,{"path":1538,"stem":1539,"title":1540,"date":1269,"chapter":1541,"chapterSort":1542,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-5-fan-wei-for-xun-huan","wiki/2023-10-05-Cplusplus教学/ch18-5-范围for循环","范围 for 循环","18.5",18050000,{"path":1544,"stem":1545,"title":1546,"date":1269,"chapter":1547,"chapterSort":1548,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-6-jie-gou-hua-bang-ding","wiki/2023-10-05-Cplusplus教学/ch18-6-结构化绑定","结构化绑定","18.6",18060000,{"path":1550,"stem":1551,"title":1552,"date":1269,"chapter":1553,"chapterSort":1554,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-7-constexpr","wiki/2023-10-05-Cplusplus教学/ch18-7-constexpr","constexpr","18.7",18070000,{"path":1556,"stem":1557,"title":1558,"date":1269,"chapter":1559,"chapterSort":1560,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-8-raii","wiki/2023-10-05-Cplusplus教学/ch18-8-RAII","RAII","18.8",18080000,{"path":1562,"stem":1563,"title":1564,"date":1269,"chapter":1565,"chapterSort":1566,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-9-zhi-neng-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch18-9-智能指针","智能指针","18.9",18090000,{"path":1568,"stem":1569,"title":1570,"date":1269,"chapter":1571,"chapterSort":1572,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-xian-dai-c","wiki/2023-10-05-Cplusplus教学/ch18-现代C++","现代C++","18",18000000,{"path":1574,"stem":1575,"title":1576,"date":1269,"chapter":1577,"chapterSort":1578,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-1-ding-shi-qi-yu-yi-bu-io","wiki/2023-10-05-Cplusplus教学/ch19-1-1-定时器与异步IO","定时器与异步 IO","19.1.1",19010100,{"path":1580,"stem":1581,"title":1582,"date":1269,"chapter":1583,"chapterSort":1584,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-2-boost-asio-ji-chu","wiki/2023-10-05-Cplusplus教学/ch19-1-2-Boost.Asio基础","Boost.Asio 基础","19.1.2",19010200,{"path":1586,"stem":1587,"title":1588,"date":1269,"chapter":1589,"chapterSort":1590,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-3-chuan-kou-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-3-串口通信","串口通信","19.1.3",19010300,{"path":1592,"stem":1593,"title":1594,"date":1269,"chapter":1595,"chapterSort":1596,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-4-tcp-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-4-TCP通信","TCP 通信","19.1.4",19010400,{"path":1598,"stem":1599,"title":1600,"date":1269,"chapter":1601,"chapterSort":1602,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-5-udp-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-5-UDP通信","UDP 通信","19.1.5",19010500,{"path":1604,"stem":1605,"title":1606,"date":1269,"chapter":1607,"chapterSort":1608,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-6-ji-qi-ren-gong-cheng-xie-fa-yu-ros2-ji-cheng","wiki/2023-10-05-Cplusplus教学/ch19-1-6-机器人工程写法与ROS2集成","机器人工程写法与 ROS2 集成","19.1.6",19010600,{"path":1610,"stem":1611,"title":1612,"date":1269,"chapter":1613,"chapterSort":1614,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-boost-asio-yi-bu-io-ku","wiki/2023-10-05-Cplusplus教学/ch19-1-Boost.Asio异步IO库","Boost.Asio异步IO库","19.1",19010000,{"path":1616,"stem":1617,"title":1618,"date":1269,"chapter":1619,"chapterSort":1620,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-2-eigen-xian-xing-dai-shu-ku","wiki/2023-10-05-Cplusplus教学/ch19-2-Eigen线性代数库","Eigen线性代数库","19.2",19020000,{"path":1622,"stem":1623,"title":1624,"date":1269,"chapter":1625,"chapterSort":1626,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-3-opencv-ji-suan-ji-shi-jue-ku","wiki/2023-10-05-Cplusplus教学/ch19-3-OpenCV计算机视觉库","OpenCV计算机视觉库","19.3",19030000,{"path":1628,"stem":1629,"title":1630,"date":1269,"chapter":1631,"chapterSort":1632,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-4-pcl-dian-yun-ku","wiki/2023-10-05-Cplusplus教学/ch19-4-PCL点云库","PCL点云库","19.4",19040000,{"path":1634,"stem":1635,"title":1636,"date":1269,"chapter":1637,"chapterSort":1638,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-5-sophus-li-qun-li-dai-shu-ku","wiki/2023-10-05-Cplusplus教学/ch19-5-Sophus李群李代数库","Sophus 李群李代数库","19.5",19050000,{"path":1640,"stem":1641,"title":1642,"date":1269,"chapter":1643,"chapterSort":1644,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-chang-yong-ku","wiki/2023-10-05-Cplusplus教学/ch19-常用库","常用库学习","19",19000000,{"path":1646,"stem":1647,"title":1648,"date":1269,"chapter":1649,"chapterSort":1650,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang","wiki/2023-10-05-Cplusplus教学/ch2-数据类型与数据存放","数据类型与数据存放","2",2000000,{"path":1652,"stem":1653,"title":1654,"date":1269,"chapter":1655,"chapterSort":1656,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch3-shu-ru-shu-chu","wiki/2023-10-05-Cplusplus教学/ch3-输入输出","输入输出","3",3000000,{"path":1658,"stem":1659,"title":1660,"date":1269,"chapter":1661,"chapterSort":1662,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch4-yun-suan-fu","wiki/2023-10-05-Cplusplus教学/ch4-运算符","运算符","4",4000000,{"path":1664,"stem":1665,"title":1666,"date":1269,"chapter":1667,"chapterSort":1668,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch5-cheng-xu-liu-cheng-jie-gou","wiki/2023-10-05-Cplusplus教学/ch5-程序流程结构","程序流程结构","5",5000000,{"path":1670,"stem":1671,"title":1672,"date":1269,"chapter":1673,"chapterSort":1674,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch6-shu-zu","wiki/2023-10-05-Cplusplus教学/ch6-数组","数组","6",6000000,{"path":1676,"stem":1677,"title":1678,"date":1269,"chapter":1679,"chapterSort":1680,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch7-han-shu-yu-tou-wen-jian","wiki/2023-10-05-Cplusplus教学/ch7-函数与头文件","函数与头文件","7",7000000,{"path":1682,"stem":1683,"title":1684,"date":1269,"chapter":1685,"chapterSort":1686,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch8-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch8-指针","指针","8",8000000,{"path":1688,"stem":1689,"title":1690,"date":1269,"chapter":1691,"chapterSort":1692,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":1276},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch9-jie-gou-ti-yu-gong-yong-ti","wiki/2023-10-05-Cplusplus教学/ch9-结构体与共用体","结构体与共用体","9",9000000,{"path":1272,"stem":1694,"title":1695,"date":1269,"chapter":1277,"chapterSort":1696,"docKey":1271,"docRoot":1272,"docTitle":1273,"isWikiDoc":207,"isWikiIndex":207},"wiki/2023-10-05-Cplusplus教学/index","C/C++教程",0,{"variants":1698},[1699,1702,1705,1708,1711],{"path":1700,"localeSlug":1701,"i18nKey":1275},"/en-us/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen","en-us",{"path":1703,"localeSlug":1704,"i18nKey":1275},"/zh-hant/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen","zh-hant",{"path":1706,"localeSlug":1707,"i18nKey":1275},"/zh-hk/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen","zh-hk",{"path":1709,"localeSlug":1710,"i18nKey":1275},"/zh-tw/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen","zh-tw",{"path":1266,"localeSlug":1280,"i18nKey":1275},[1700,1278,1703,1278,1706,1278,1709,1278,1266,1278],1780663031126]