[{"data":1,"prerenderedAt":4347},["ShallowReactive",2],{"wiki-page-\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0200-dui-xiang-chu-shi-hua-he-qing-li":3,"wiki-doc-items-2023-10-05-cplusplus-jiao-xue":3786,"wiki:author-members":4335},{"id":4,"title":5,"authors":6,"body":8,"chapterDepth":138,"chapterOrder":3774,"date":3775,"description":131,"docKey":3776,"docRoot":3777,"docTitle":3778,"extension":3779,"isWikiDoc":250,"isWikiIndex":3780,"meta":3781,"navigation":250,"path":3782,"seo":3783,"stem":3784,"wikiDepth":138,"__hash__":3785},"wiki\u002Fwiki\u002F2023-10-05-Cplusplus教学\u002F1400-0200-对象初始化和清理.md","对象初始化和清理",[7],"董佳辉",{"type":9,"value":10,"toc":3771},"minimark",[11,15,25,29,38,41,44,55,61,66,78,87,102,111,125,351,356,364,367,370,373,376,379,382,385,388,393,868,872,878,881,884,895,899,1387,1396,1402,1405,1408,1411,1414,1417,1420,1428,1430,1815,1819,1825,1828,1831,1834,1837,1841,2281,2285,2291,2297,2300,2305,2308,2316,2320,2592,2596,2602,2605,2608,2611,2646,2655,2658,2661,2665,3066,3070,3076,3079,3082,3085,3112,3115,3442,3446,3452,3455,3757,3761,3767],[12,13,14],"h3",{"id":14},"对象的初始化和清理",[16,17,18,22],"ul",{},[19,20,21],"li",{},"生活中我们买的电子产品都基本会有出厂设置，在某一天我们不用时候也会删除一些自己信息数据保证安全",[19,23,24],{},"C++中的面向对象来源于生活，每个对象也都会有初始设置以及 对象销毁前的清理数据的设置。",[26,27,28],"h4",{"id":28},"构造函数和析构函数",[30,31,32,33,37],"p",{},"对象的",[34,35,36],"strong",{},"初始化和清理","也是两个非常重要的安全问题",[30,39,40],{},"​\t一个对象或者变量没有初始状态，对其使用后果是未知",[30,42,43],{},"​\t同样的使用完一个对象或变量，没有及时清理，也会造成一定的安全问题",[30,45,46,47,50,51,54],{},"c++利用了",[34,48,49],{},"构造函数","和",[34,52,53],{},"析构函数","解决上述问题，这两个函数将会被编译器自动调用，完成对象初始化和清理工作。",[30,56,57,58],{},"对象的初始化和清理工作是编译器强制要我们做的事情，因此如果",[34,59,60],{},"我们不提供构造和析构，编译器会提供",[30,62,63],{},[34,64,65],{},"编译器提供的构造函数和析构函数是空实现。",[16,67,68,71],{},[19,69,70],{},"构造函数：主要作用在于创建对象时为对象的成员属性赋值，构造函数由编译器自动调用，无须手动调用。",[19,72,73,74,77],{},"析构函数：主要作用在于对象",[34,75,76],{},"销毁前","系统自动调用，执行一些清理工作。",[30,79,80,83],{},[34,81,82],{},"构造函数语法：",[84,85,86],"code",{},"类名(){}",[88,89,90,93,96,99],"ol",{},[19,91,92],{},"构造函数，没有返回值也不写void",[19,94,95],{},"函数名称与类名相同",[19,97,98],{},"构造函数可以有参数，因此可以发生重载",[19,100,101],{},"程序在调用对象时候会自动调用构造，无须手动调用,而且只会调用一次",[30,103,104,107,108],{},[34,105,106],{},"析构函数语法："," ",[84,109,110],{},"~类名(){}",[88,112,113,116,119,122],{},[19,114,115],{},"析构函数，没有返回值也不写void",[19,117,118],{},"函数名称与类名相同,在名称前加上符号  ~",[19,120,121],{},"析构函数不可以有参数，因此不可以发生重载",[19,123,124],{},"程序在对象销毁前会自动调用析构，无须手动调用,而且只会调用一次",[126,127,132],"pre",{"className":128,"code":129,"language":130,"meta":131,"style":131},"language-cpp shiki shiki-themes github-light github-dark","class Person\n{\npublic:\n    \u002F\u002F构造函数\n    Person()\n    {\n        cout \u003C\u003C \"Person的构造函数调用\" \u003C\u003C endl;\n    }\n    \u002F\u002F析构函数\n    ~Person()\n    {\n        cout \u003C\u003C \"Person的析构函数调用\" \u003C\u003C endl;\n    }\n\n};\n\nvoid test01()\n{\n    Person p;\n}\n\nint main() {\n    \n    test01();\n\n\n    return 0;\n}\n","cpp","",[84,133,134,147,154,160,167,176,182,201,207,213,221,226,240,245,252,258,263,274,279,285,291,296,308,314,323,328,333,346],{"__ignoreMap":131},[135,136,139,143],"span",{"class":137,"line":138},"line",1,[135,140,142],{"class":141},"szBVR","class",[135,144,146],{"class":145},"sScJk"," Person\n",[135,148,150],{"class":137,"line":149},2,[135,151,153],{"class":152},"sVt8B","{\n",[135,155,157],{"class":137,"line":156},3,[135,158,159],{"class":141},"public:\n",[135,161,163],{"class":137,"line":162},4,[135,164,166],{"class":165},"sJ8bj","    \u002F\u002F构造函数\n",[135,168,170,173],{"class":137,"line":169},5,[135,171,172],{"class":145},"    Person",[135,174,175],{"class":152},"()\n",[135,177,179],{"class":137,"line":178},6,[135,180,181],{"class":152},"    {\n",[135,183,185,188,191,195,198],{"class":137,"line":184},7,[135,186,187],{"class":152},"        cout ",[135,189,190],{"class":141},"\u003C\u003C",[135,192,194],{"class":193},"sZZnC"," \"Person的构造函数调用\"",[135,196,197],{"class":141}," \u003C\u003C",[135,199,200],{"class":152}," endl;\n",[135,202,204],{"class":137,"line":203},8,[135,205,206],{"class":152},"    }\n",[135,208,210],{"class":137,"line":209},9,[135,211,212],{"class":165},"    \u002F\u002F析构函数\n",[135,214,216,219],{"class":137,"line":215},10,[135,217,218],{"class":145},"    ~Person",[135,220,175],{"class":152},[135,222,224],{"class":137,"line":223},11,[135,225,181],{"class":152},[135,227,229,231,233,236,238],{"class":137,"line":228},12,[135,230,187],{"class":152},[135,232,190],{"class":141},[135,234,235],{"class":193}," \"Person的析构函数调用\"",[135,237,197],{"class":141},[135,239,200],{"class":152},[135,241,243],{"class":137,"line":242},13,[135,244,206],{"class":152},[135,246,248],{"class":137,"line":247},14,[135,249,251],{"emptyLinePlaceholder":250},true,"\n",[135,253,255],{"class":137,"line":254},15,[135,256,257],{"class":152},"};\n",[135,259,261],{"class":137,"line":260},16,[135,262,251],{"emptyLinePlaceholder":250},[135,264,266,269,272],{"class":137,"line":265},17,[135,267,268],{"class":141},"void",[135,270,271],{"class":145}," test01",[135,273,175],{"class":152},[135,275,277],{"class":137,"line":276},18,[135,278,153],{"class":152},[135,280,282],{"class":137,"line":281},19,[135,283,284],{"class":152},"    Person p;\n",[135,286,288],{"class":137,"line":287},20,[135,289,290],{"class":152},"}\n",[135,292,294],{"class":137,"line":293},21,[135,295,251],{"emptyLinePlaceholder":250},[135,297,299,302,305],{"class":137,"line":298},22,[135,300,301],{"class":141},"int",[135,303,304],{"class":145}," main",[135,306,307],{"class":152},"() {\n",[135,309,311],{"class":137,"line":310},23,[135,312,313],{"class":152},"    \n",[135,315,317,320],{"class":137,"line":316},24,[135,318,319],{"class":145},"    test01",[135,321,322],{"class":152},"();\n",[135,324,326],{"class":137,"line":325},25,[135,327,251],{"emptyLinePlaceholder":250},[135,329,331],{"class":137,"line":330},26,[135,332,251],{"emptyLinePlaceholder":250},[135,334,336,339,343],{"class":137,"line":335},27,[135,337,338],{"class":141},"    return",[135,340,342],{"class":341},"sj4cs"," 0",[135,344,345],{"class":152},";\n",[135,347,349],{"class":137,"line":348},28,[135,350,290],{"class":152},[30,352,353],{},[34,354,355],{},"运行结果：",[126,357,362],{"className":358,"code":360,"language":361,"meta":131},[359],"language-text","Person的构造函数调用\nPerson的析构函数调用\n","text",[84,363,360],{"__ignoreMap":131},[26,365,366],{"id":366},"构造函数的分类及调用",[30,368,369],{},"两种分类方式：",[30,371,372],{},"​\t按参数分为： 有参构造和无参构造",[30,374,375],{},"​\t按类型分为： 普通构造和拷贝构造",[30,377,378],{},"三种调用方式：",[30,380,381],{},"​\t括号法",[30,383,384],{},"​\t显示法",[30,386,387],{},"​\t隐式转换法",[30,389,390],{},[34,391,392],{},"示例：",[126,394,396],{"className":128,"code":395,"language":130,"meta":131,"style":131},"\u002F\u002F1、构造函数分类\n\u002F\u002F 按照参数分类分为 有参和无参构造   无参又称为默认构造函数\n\u002F\u002F 按照类型分类分为 普通构造和拷贝构造\n\nclass Person {\npublic:\n    \u002F\u002F无参（默认）构造函数\n    Person() {\n        cout \u003C\u003C \"无参构造函数!\" \u003C\u003C endl;\n    }\n    \u002F\u002F有参构造函数\n    Person(int a) {\n        age = a;\n        cout \u003C\u003C \"有参构造函数!\" \u003C\u003C endl;\n    }\n    \u002F\u002F拷贝构造函数\n    Person(const Person& p) {\n        age = p.age;\n        cout \u003C\u003C \"拷贝构造函数!\" \u003C\u003C endl;\n    }\n    \u002F\u002F析构函数\n    ~Person() {\n        cout \u003C\u003C \"析构函数!\" \u003C\u003C endl;\n    }\npublic:\n    int age;\n};\n\n\u002F\u002F2、构造函数的调用\n\u002F\u002F调用无参构造函数\nvoid test01() {\n    Person p; \u002F\u002F调用无参构造函数\n}\n\n\u002F\u002F调用有参的构造函数\nvoid test02() {\n\n    \u002F\u002F2.1  括号法，常用\n    Person p1(10);\n    \u002F\u002F注意1：调用无参构造函数不能加括号，如果加了编译器认为这是一个函数声明\n    \u002F\u002FPerson p2();\n\n    \u002F\u002F2.2 显式法\n    Person p2 = Person(10); \n    Person p3 = Person(p2);\n    \u002F\u002FPerson(10)单独写就是匿名对象  当前行结束之后，马上析构\n\n    \u002F\u002F2.3 隐式转换法\n    Person p4 = 10; \u002F\u002F Person p4 = Person(10); \n    Person p5 = p4; \u002F\u002F Person p5 = Person(p4); \n\n    \u002F\u002F注意2：不能利用 拷贝构造函数 初始化匿名对象 编译器认为是对象声明\n    \u002F\u002FPerson p5(p4);\n}\n\nint main() {\n\n    test01();\n    \u002F\u002Ftest02();\n\n\n    return 0;\n}\n",[84,397,398,403,408,413,417,427,431,436,442,455,459,464,480,491,504,508,513,532,541,554,558,562,568,581,585,589,597,601,605,611,617,626,635,640,645,651,661,666,672,689,695,701,706,712,729,742,748,753,759,776,790,795,801,807,812,817,826,831,838,844,849,854,863],{"__ignoreMap":131},[135,399,400],{"class":137,"line":138},[135,401,402],{"class":165},"\u002F\u002F1、构造函数分类\n",[135,404,405],{"class":137,"line":149},[135,406,407],{"class":165},"\u002F\u002F 按照参数分类分为 有参和无参构造   无参又称为默认构造函数\n",[135,409,410],{"class":137,"line":156},[135,411,412],{"class":165},"\u002F\u002F 按照类型分类分为 普通构造和拷贝构造\n",[135,414,415],{"class":137,"line":162},[135,416,251],{"emptyLinePlaceholder":250},[135,418,419,421,424],{"class":137,"line":169},[135,420,142],{"class":141},[135,422,423],{"class":145}," Person",[135,425,426],{"class":152}," {\n",[135,428,429],{"class":137,"line":178},[135,430,159],{"class":141},[135,432,433],{"class":137,"line":184},[135,434,435],{"class":165},"    \u002F\u002F无参（默认）构造函数\n",[135,437,438,440],{"class":137,"line":203},[135,439,172],{"class":145},[135,441,307],{"class":152},[135,443,444,446,448,451,453],{"class":137,"line":209},[135,445,187],{"class":152},[135,447,190],{"class":141},[135,449,450],{"class":193}," \"无参构造函数!\"",[135,452,197],{"class":141},[135,454,200],{"class":152},[135,456,457],{"class":137,"line":215},[135,458,206],{"class":152},[135,460,461],{"class":137,"line":223},[135,462,463],{"class":165},"    \u002F\u002F有参构造函数\n",[135,465,466,468,471,473,477],{"class":137,"line":228},[135,467,172],{"class":145},[135,469,470],{"class":152},"(",[135,472,301],{"class":141},[135,474,476],{"class":475},"s4XuR"," a",[135,478,479],{"class":152},") {\n",[135,481,482,485,488],{"class":137,"line":242},[135,483,484],{"class":152},"        age ",[135,486,487],{"class":141},"=",[135,489,490],{"class":152}," a;\n",[135,492,493,495,497,500,502],{"class":137,"line":247},[135,494,187],{"class":152},[135,496,190],{"class":141},[135,498,499],{"class":193}," \"有参构造函数!\"",[135,501,197],{"class":141},[135,503,200],{"class":152},[135,505,506],{"class":137,"line":254},[135,507,206],{"class":152},[135,509,510],{"class":137,"line":260},[135,511,512],{"class":165},"    \u002F\u002F拷贝构造函数\n",[135,514,515,517,519,522,524,527,530],{"class":137,"line":265},[135,516,172],{"class":145},[135,518,470],{"class":152},[135,520,521],{"class":141},"const",[135,523,423],{"class":145},[135,525,526],{"class":141},"&",[135,528,529],{"class":475}," p",[135,531,479],{"class":152},[135,533,534,536,538],{"class":137,"line":276},[135,535,484],{"class":152},[135,537,487],{"class":141},[135,539,540],{"class":152}," p.age;\n",[135,542,543,545,547,550,552],{"class":137,"line":281},[135,544,187],{"class":152},[135,546,190],{"class":141},[135,548,549],{"class":193}," \"拷贝构造函数!\"",[135,551,197],{"class":141},[135,553,200],{"class":152},[135,555,556],{"class":137,"line":287},[135,557,206],{"class":152},[135,559,560],{"class":137,"line":293},[135,561,212],{"class":165},[135,563,564,566],{"class":137,"line":298},[135,565,218],{"class":145},[135,567,307],{"class":152},[135,569,570,572,574,577,579],{"class":137,"line":310},[135,571,187],{"class":152},[135,573,190],{"class":141},[135,575,576],{"class":193}," \"析构函数!\"",[135,578,197],{"class":141},[135,580,200],{"class":152},[135,582,583],{"class":137,"line":316},[135,584,206],{"class":152},[135,586,587],{"class":137,"line":325},[135,588,159],{"class":141},[135,590,591,594],{"class":137,"line":330},[135,592,593],{"class":141},"    int",[135,595,596],{"class":152}," age;\n",[135,598,599],{"class":137,"line":335},[135,600,257],{"class":152},[135,602,603],{"class":137,"line":348},[135,604,251],{"emptyLinePlaceholder":250},[135,606,608],{"class":137,"line":607},29,[135,609,610],{"class":165},"\u002F\u002F2、构造函数的调用\n",[135,612,614],{"class":137,"line":613},30,[135,615,616],{"class":165},"\u002F\u002F调用无参构造函数\n",[135,618,620,622,624],{"class":137,"line":619},31,[135,621,268],{"class":141},[135,623,271],{"class":145},[135,625,307],{"class":152},[135,627,629,632],{"class":137,"line":628},32,[135,630,631],{"class":152},"    Person p;",[135,633,634],{"class":165}," \u002F\u002F调用无参构造函数\n",[135,636,638],{"class":137,"line":637},33,[135,639,290],{"class":152},[135,641,643],{"class":137,"line":642},34,[135,644,251],{"emptyLinePlaceholder":250},[135,646,648],{"class":137,"line":647},35,[135,649,650],{"class":165},"\u002F\u002F调用有参的构造函数\n",[135,652,654,656,659],{"class":137,"line":653},36,[135,655,268],{"class":141},[135,657,658],{"class":145}," test02",[135,660,307],{"class":152},[135,662,664],{"class":137,"line":663},37,[135,665,251],{"emptyLinePlaceholder":250},[135,667,669],{"class":137,"line":668},38,[135,670,671],{"class":165},"    \u002F\u002F2.1  括号法，常用\n",[135,673,675,678,681,683,686],{"class":137,"line":674},39,[135,676,677],{"class":152},"    Person ",[135,679,680],{"class":145},"p1",[135,682,470],{"class":152},[135,684,685],{"class":341},"10",[135,687,688],{"class":152},");\n",[135,690,692],{"class":137,"line":691},40,[135,693,694],{"class":165},"    \u002F\u002F注意1：调用无参构造函数不能加括号，如果加了编译器认为这是一个函数声明\n",[135,696,698],{"class":137,"line":697},41,[135,699,700],{"class":165},"    \u002F\u002FPerson p2();\n",[135,702,704],{"class":137,"line":703},42,[135,705,251],{"emptyLinePlaceholder":250},[135,707,709],{"class":137,"line":708},43,[135,710,711],{"class":165},"    \u002F\u002F2.2 显式法\n",[135,713,715,718,720,722,724,726],{"class":137,"line":714},44,[135,716,717],{"class":152},"    Person p2 ",[135,719,487],{"class":141},[135,721,423],{"class":145},[135,723,470],{"class":152},[135,725,685],{"class":341},[135,727,728],{"class":152},"); \n",[135,730,732,735,737,739],{"class":137,"line":731},45,[135,733,734],{"class":152},"    Person p3 ",[135,736,487],{"class":141},[135,738,423],{"class":145},[135,740,741],{"class":152},"(p2);\n",[135,743,745],{"class":137,"line":744},46,[135,746,747],{"class":165},"    \u002F\u002FPerson(10)单独写就是匿名对象  当前行结束之后，马上析构\n",[135,749,751],{"class":137,"line":750},47,[135,752,251],{"emptyLinePlaceholder":250},[135,754,756],{"class":137,"line":755},48,[135,757,758],{"class":165},"    \u002F\u002F2.3 隐式转换法\n",[135,760,762,765,767,770,773],{"class":137,"line":761},49,[135,763,764],{"class":152},"    Person p4 ",[135,766,487],{"class":141},[135,768,769],{"class":341}," 10",[135,771,772],{"class":152},";",[135,774,775],{"class":165}," \u002F\u002F Person p4 = Person(10); \n",[135,777,779,782,784,787],{"class":137,"line":778},50,[135,780,781],{"class":152},"    Person p5 ",[135,783,487],{"class":141},[135,785,786],{"class":152}," p4;",[135,788,789],{"class":165}," \u002F\u002F Person p5 = Person(p4); \n",[135,791,793],{"class":137,"line":792},51,[135,794,251],{"emptyLinePlaceholder":250},[135,796,798],{"class":137,"line":797},52,[135,799,800],{"class":165},"    \u002F\u002F注意2：不能利用 拷贝构造函数 初始化匿名对象 编译器认为是对象声明\n",[135,802,804],{"class":137,"line":803},53,[135,805,806],{"class":165},"    \u002F\u002FPerson p5(p4);\n",[135,808,810],{"class":137,"line":809},54,[135,811,290],{"class":152},[135,813,815],{"class":137,"line":814},55,[135,816,251],{"emptyLinePlaceholder":250},[135,818,820,822,824],{"class":137,"line":819},56,[135,821,301],{"class":141},[135,823,304],{"class":145},[135,825,307],{"class":152},[135,827,829],{"class":137,"line":828},57,[135,830,251],{"emptyLinePlaceholder":250},[135,832,834,836],{"class":137,"line":833},58,[135,835,319],{"class":145},[135,837,322],{"class":152},[135,839,841],{"class":137,"line":840},59,[135,842,843],{"class":165},"    \u002F\u002Ftest02();\n",[135,845,847],{"class":137,"line":846},60,[135,848,251],{"emptyLinePlaceholder":250},[135,850,852],{"class":137,"line":851},61,[135,853,251],{"emptyLinePlaceholder":250},[135,855,857,859,861],{"class":137,"line":856},62,[135,858,338],{"class":141},[135,860,342],{"class":341},[135,862,345],{"class":152},[135,864,866],{"class":137,"line":865},63,[135,867,290],{"class":152},[30,869,870],{},[34,871,355],{},[126,873,876],{"className":874,"code":875,"language":361,"meta":131},[359],"无参构造函数!\n析构函数!\n",[84,877,875],{"__ignoreMap":131},[26,879,880],{"id":880},"拷贝构造函数调用时机",[30,882,883],{},"C++中拷贝构造函数调用时机通常有三种情况",[16,885,886,889,892],{},[19,887,888],{},"使用一个已经创建完毕的对象来初始化一个新对象",[19,890,891],{},"值传递的方式给函数参数传值",[19,893,894],{},"以值方式返回局部对象",[30,896,897],{},[34,898,392],{},[126,900,902],{"className":128,"code":901,"language":130,"meta":131,"style":131},"class Person {\npublic:\n    Person() {\n        cout \u003C\u003C \"无参构造函数!\" \u003C\u003C endl;\n        mAge = 0;\n    }\n    Person(int age) {\n        cout \u003C\u003C \"有参构造函数!\" \u003C\u003C endl;\n        mAge = age;\n    }\n    Person(const Person& p) {\n        cout \u003C\u003C \"拷贝构造函数!\" \u003C\u003C endl;\n        mAge = p.mAge;\n    }\n    \u002F\u002F析构函数在释放内存之前调用\n    ~Person() {\n        cout \u003C\u003C \"析构函数!\" \u003C\u003C endl;\n    }\npublic:\n    int mAge;\n};\n\n\u002F\u002F1. 使用一个已经创建完毕的对象来初始化一个新对象\nvoid test01() {\n\n    Person man(100); \u002F\u002Fp对象已经创建完毕\n    Person newman(man); \u002F\u002F调用拷贝构造函数\n    Person newman2 = man; \u002F\u002F拷贝构造\n\n    \u002F\u002FPerson newman3;\n    \u002F\u002Fnewman3 = man; \u002F\u002F不是调用拷贝构造函数，赋值操作\n}\n\n\u002F\u002F2. 值传递的方式给函数参数传值\n\u002F\u002F相当于Person p1 = p;\nvoid doWork(Person p1) {}\nvoid test02() {\n    Person p; \u002F\u002F无参构造函数\n    doWork(p);\n}\n\n\u002F\u002F3. 以值方式返回局部对象\nPerson doWork2()\n{\n    Person p1;\n    cout \u003C\u003C (int *)&p1 \u003C\u003C endl;\n    return p1;\n}\n\nvoid test03()\n{\n    Person p = doWork2();\n    cout \u003C\u003C (int *)&p \u003C\u003C endl;\n}\n\nint main() {\n\n    \u002F\u002Ftest01();\n    \u002F\u002Ftest02();\n    test03();\n\n\n    return 0;\n}\n",[84,903,904,912,916,922,934,945,949,962,974,982,986,1002,1014,1023,1027,1032,1038,1050,1054,1058,1065,1069,1073,1078,1086,1090,1108,1121,1134,1138,1143,1151,1155,1159,1164,1169,1187,1195,1202,1210,1214,1218,1223,1232,1236,1241,1268,1275,1279,1283,1292,1296,1307,1330,1334,1338,1346,1350,1355,1359,1366,1370,1374,1382],{"__ignoreMap":131},[135,905,906,908,910],{"class":137,"line":138},[135,907,142],{"class":141},[135,909,423],{"class":145},[135,911,426],{"class":152},[135,913,914],{"class":137,"line":149},[135,915,159],{"class":141},[135,917,918,920],{"class":137,"line":156},[135,919,172],{"class":145},[135,921,307],{"class":152},[135,923,924,926,928,930,932],{"class":137,"line":162},[135,925,187],{"class":152},[135,927,190],{"class":141},[135,929,450],{"class":193},[135,931,197],{"class":141},[135,933,200],{"class":152},[135,935,936,939,941,943],{"class":137,"line":169},[135,937,938],{"class":152},"        mAge ",[135,940,487],{"class":141},[135,942,342],{"class":341},[135,944,345],{"class":152},[135,946,947],{"class":137,"line":178},[135,948,206],{"class":152},[135,950,951,953,955,957,960],{"class":137,"line":184},[135,952,172],{"class":145},[135,954,470],{"class":152},[135,956,301],{"class":141},[135,958,959],{"class":475}," age",[135,961,479],{"class":152},[135,963,964,966,968,970,972],{"class":137,"line":203},[135,965,187],{"class":152},[135,967,190],{"class":141},[135,969,499],{"class":193},[135,971,197],{"class":141},[135,973,200],{"class":152},[135,975,976,978,980],{"class":137,"line":209},[135,977,938],{"class":152},[135,979,487],{"class":141},[135,981,596],{"class":152},[135,983,984],{"class":137,"line":215},[135,985,206],{"class":152},[135,987,988,990,992,994,996,998,1000],{"class":137,"line":223},[135,989,172],{"class":145},[135,991,470],{"class":152},[135,993,521],{"class":141},[135,995,423],{"class":145},[135,997,526],{"class":141},[135,999,529],{"class":475},[135,1001,479],{"class":152},[135,1003,1004,1006,1008,1010,1012],{"class":137,"line":228},[135,1005,187],{"class":152},[135,1007,190],{"class":141},[135,1009,549],{"class":193},[135,1011,197],{"class":141},[135,1013,200],{"class":152},[135,1015,1016,1018,1020],{"class":137,"line":242},[135,1017,938],{"class":152},[135,1019,487],{"class":141},[135,1021,1022],{"class":152}," p.mAge;\n",[135,1024,1025],{"class":137,"line":247},[135,1026,206],{"class":152},[135,1028,1029],{"class":137,"line":254},[135,1030,1031],{"class":165},"    \u002F\u002F析构函数在释放内存之前调用\n",[135,1033,1034,1036],{"class":137,"line":260},[135,1035,218],{"class":145},[135,1037,307],{"class":152},[135,1039,1040,1042,1044,1046,1048],{"class":137,"line":265},[135,1041,187],{"class":152},[135,1043,190],{"class":141},[135,1045,576],{"class":193},[135,1047,197],{"class":141},[135,1049,200],{"class":152},[135,1051,1052],{"class":137,"line":276},[135,1053,206],{"class":152},[135,1055,1056],{"class":137,"line":281},[135,1057,159],{"class":141},[135,1059,1060,1062],{"class":137,"line":287},[135,1061,593],{"class":141},[135,1063,1064],{"class":152}," mAge;\n",[135,1066,1067],{"class":137,"line":293},[135,1068,257],{"class":152},[135,1070,1071],{"class":137,"line":298},[135,1072,251],{"emptyLinePlaceholder":250},[135,1074,1075],{"class":137,"line":310},[135,1076,1077],{"class":165},"\u002F\u002F1. 使用一个已经创建完毕的对象来初始化一个新对象\n",[135,1079,1080,1082,1084],{"class":137,"line":316},[135,1081,268],{"class":141},[135,1083,271],{"class":145},[135,1085,307],{"class":152},[135,1087,1088],{"class":137,"line":325},[135,1089,251],{"emptyLinePlaceholder":250},[135,1091,1092,1094,1097,1099,1102,1105],{"class":137,"line":330},[135,1093,677],{"class":152},[135,1095,1096],{"class":145},"man",[135,1098,470],{"class":152},[135,1100,1101],{"class":341},"100",[135,1103,1104],{"class":152},");",[135,1106,1107],{"class":165}," \u002F\u002Fp对象已经创建完毕\n",[135,1109,1110,1112,1115,1118],{"class":137,"line":335},[135,1111,677],{"class":152},[135,1113,1114],{"class":145},"newman",[135,1116,1117],{"class":152},"(man);",[135,1119,1120],{"class":165}," \u002F\u002F调用拷贝构造函数\n",[135,1122,1123,1126,1128,1131],{"class":137,"line":348},[135,1124,1125],{"class":152},"    Person newman2 ",[135,1127,487],{"class":141},[135,1129,1130],{"class":152}," man;",[135,1132,1133],{"class":165}," \u002F\u002F拷贝构造\n",[135,1135,1136],{"class":137,"line":607},[135,1137,251],{"emptyLinePlaceholder":250},[135,1139,1140],{"class":137,"line":613},[135,1141,1142],{"class":165},"    \u002F\u002FPerson newman3;\n",[135,1144,1145,1148],{"class":137,"line":619},[135,1146,1147],{"class":165},"    \u002F\u002Fnewman3 = man;",[135,1149,1150],{"class":165}," \u002F\u002F不是调用拷贝构造函数，赋值操作\n",[135,1152,1153],{"class":137,"line":628},[135,1154,290],{"class":152},[135,1156,1157],{"class":137,"line":637},[135,1158,251],{"emptyLinePlaceholder":250},[135,1160,1161],{"class":137,"line":642},[135,1162,1163],{"class":165},"\u002F\u002F2. 值传递的方式给函数参数传值\n",[135,1165,1166],{"class":137,"line":647},[135,1167,1168],{"class":165},"\u002F\u002F相当于Person p1 = p;\n",[135,1170,1171,1173,1176,1178,1181,1184],{"class":137,"line":653},[135,1172,268],{"class":141},[135,1174,1175],{"class":145}," doWork",[135,1177,470],{"class":152},[135,1179,1180],{"class":145},"Person",[135,1182,1183],{"class":475}," p1",[135,1185,1186],{"class":152},") {}\n",[135,1188,1189,1191,1193],{"class":137,"line":663},[135,1190,268],{"class":141},[135,1192,658],{"class":145},[135,1194,307],{"class":152},[135,1196,1197,1199],{"class":137,"line":668},[135,1198,631],{"class":152},[135,1200,1201],{"class":165}," \u002F\u002F无参构造函数\n",[135,1203,1204,1207],{"class":137,"line":674},[135,1205,1206],{"class":145},"    doWork",[135,1208,1209],{"class":152},"(p);\n",[135,1211,1212],{"class":137,"line":691},[135,1213,290],{"class":152},[135,1215,1216],{"class":137,"line":697},[135,1217,251],{"emptyLinePlaceholder":250},[135,1219,1220],{"class":137,"line":703},[135,1221,1222],{"class":165},"\u002F\u002F3. 以值方式返回局部对象\n",[135,1224,1225,1227,1230],{"class":137,"line":708},[135,1226,1180],{"class":145},[135,1228,1229],{"class":145}," doWork2",[135,1231,175],{"class":152},[135,1233,1234],{"class":137,"line":714},[135,1235,153],{"class":152},[135,1237,1238],{"class":137,"line":731},[135,1239,1240],{"class":152},"    Person p1;\n",[135,1242,1243,1246,1248,1251,1253,1256,1259,1261,1264,1266],{"class":137,"line":744},[135,1244,1245],{"class":152},"    cout ",[135,1247,190],{"class":141},[135,1249,1250],{"class":152}," (",[135,1252,301],{"class":141},[135,1254,1255],{"class":141}," *",[135,1257,1258],{"class":152},")",[135,1260,526],{"class":141},[135,1262,1263],{"class":152},"p1 ",[135,1265,190],{"class":141},[135,1267,200],{"class":152},[135,1269,1270,1272],{"class":137,"line":750},[135,1271,338],{"class":141},[135,1273,1274],{"class":152}," p1;\n",[135,1276,1277],{"class":137,"line":755},[135,1278,290],{"class":152},[135,1280,1281],{"class":137,"line":761},[135,1282,251],{"emptyLinePlaceholder":250},[135,1284,1285,1287,1290],{"class":137,"line":778},[135,1286,268],{"class":141},[135,1288,1289],{"class":145}," test03",[135,1291,175],{"class":152},[135,1293,1294],{"class":137,"line":792},[135,1295,153],{"class":152},[135,1297,1298,1301,1303,1305],{"class":137,"line":797},[135,1299,1300],{"class":152},"    Person p ",[135,1302,487],{"class":141},[135,1304,1229],{"class":145},[135,1306,322],{"class":152},[135,1308,1309,1311,1313,1315,1317,1319,1321,1323,1326,1328],{"class":137,"line":803},[135,1310,1245],{"class":152},[135,1312,190],{"class":141},[135,1314,1250],{"class":152},[135,1316,301],{"class":141},[135,1318,1255],{"class":141},[135,1320,1258],{"class":152},[135,1322,526],{"class":141},[135,1324,1325],{"class":152},"p ",[135,1327,190],{"class":141},[135,1329,200],{"class":152},[135,1331,1332],{"class":137,"line":809},[135,1333,290],{"class":152},[135,1335,1336],{"class":137,"line":814},[135,1337,251],{"emptyLinePlaceholder":250},[135,1339,1340,1342,1344],{"class":137,"line":819},[135,1341,301],{"class":141},[135,1343,304],{"class":145},[135,1345,307],{"class":152},[135,1347,1348],{"class":137,"line":828},[135,1349,251],{"emptyLinePlaceholder":250},[135,1351,1352],{"class":137,"line":833},[135,1353,1354],{"class":165},"    \u002F\u002Ftest01();\n",[135,1356,1357],{"class":137,"line":840},[135,1358,843],{"class":165},[135,1360,1361,1364],{"class":137,"line":846},[135,1362,1363],{"class":145},"    test03",[135,1365,322],{"class":152},[135,1367,1368],{"class":137,"line":851},[135,1369,251],{"emptyLinePlaceholder":250},[135,1371,1372],{"class":137,"line":856},[135,1373,251],{"emptyLinePlaceholder":250},[135,1375,1376,1378,1380],{"class":137,"line":865},[135,1377,338],{"class":141},[135,1379,342],{"class":341},[135,1381,345],{"class":152},[135,1383,1385],{"class":137,"line":1384},64,[135,1386,290],{"class":152},[30,1388,1389],{},[34,1390,1391,1392,1395],{},"运行结果（地址每次运行可能不同，以下用 ",[84,1393,1394],{},"\u003C地址>"," 表示）：",[126,1397,1400],{"className":1398,"code":1399,"language":361,"meta":131},[359],"无参构造函数!\n\u003C地址>\n\u003C地址>\n析构函数!\n",[84,1401,1399],{"__ignoreMap":131},[26,1403,1404],{"id":1404},"构造函数调用规则",[30,1406,1407],{},"默认情况下，c++编译器至少给一个类添加3个函数",[30,1409,1410],{},"1．默认构造函数(无参，函数体为空)",[30,1412,1413],{},"2．默认析构函数(无参，函数体为空)",[30,1415,1416],{},"3．默认拷贝构造函数，对属性进行值拷贝",[30,1418,1419],{},"构造函数调用规则如下：",[16,1421,1422,1425],{},[19,1423,1424],{},"如果用户定义有参构造函数，c++不在提供默认无参构造，但是会提供默认拷贝构造",[19,1426,1427],{},"如果用户定义拷贝构造函数，c++不会再提供其他构造函数",[30,1429,392],{},[126,1431,1433],{"className":128,"code":1432,"language":130,"meta":131,"style":131},"class Person {\npublic:\n    \u002F\u002F无参（默认）构造函数\n    Person() {\n        cout \u003C\u003C \"无参构造函数!\" \u003C\u003C endl;\n    }\n    \u002F\u002F有参构造函数\n    Person(int a) {\n        age = a;\n        cout \u003C\u003C \"有参构造函数!\" \u003C\u003C endl;\n    }\n    \u002F\u002F拷贝构造函数\n    Person(const Person& p) {\n        age = p.age;\n        cout \u003C\u003C \"拷贝构造函数!\" \u003C\u003C endl;\n    }\n    \u002F\u002F析构函数\n    ~Person() {\n        cout \u003C\u003C \"析构函数!\" \u003C\u003C endl;\n    }\npublic:\n    int age;\n};\n\nvoid test01()\n{\n    Person p1(18);\n    \u002F\u002F如果不写拷贝构造，编译器会自动添加拷贝构造，并且做浅拷贝操作\n    Person p2(p1);\n\n    cout \u003C\u003C \"p2的年龄为： \" \u003C\u003C p2.age \u003C\u003C endl;\n}\n\nvoid test02()\n{\n    \u002F\u002F如果用户提供有参构造，编译器不会提供默认构造，会提供拷贝构造\n    Person p1; \u002F\u002F此时如果用户自己没有提供默认构造，会出错\n    Person p2(10); \u002F\u002F用户提供的有参\n    Person p3(p2); \u002F\u002F此时如果用户没有提供拷贝构造，编译器会提供\n\n    \u002F\u002F如果用户提供拷贝构造，编译器不会提供其他构造函数\n    Person p4; \u002F\u002F此时如果用户自己没有提供默认构造，会出错\n    Person p5(10); \u002F\u002F此时如果用户自己没有提供有参，会出错\n    Person p6(p5); \u002F\u002F用户自己提供拷贝构造\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[84,1434,1435,1443,1447,1451,1457,1469,1473,1477,1489,1497,1509,1513,1517,1533,1541,1553,1557,1561,1567,1579,1583,1587,1593,1597,1601,1609,1613,1626,1631,1641,1645,1663,1667,1671,1679,1683,1688,1696,1711,1724,1728,1733,1740,1756,1769,1773,1777,1785,1789,1795,1799,1803,1811],{"__ignoreMap":131},[135,1436,1437,1439,1441],{"class":137,"line":138},[135,1438,142],{"class":141},[135,1440,423],{"class":145},[135,1442,426],{"class":152},[135,1444,1445],{"class":137,"line":149},[135,1446,159],{"class":141},[135,1448,1449],{"class":137,"line":156},[135,1450,435],{"class":165},[135,1452,1453,1455],{"class":137,"line":162},[135,1454,172],{"class":145},[135,1456,307],{"class":152},[135,1458,1459,1461,1463,1465,1467],{"class":137,"line":169},[135,1460,187],{"class":152},[135,1462,190],{"class":141},[135,1464,450],{"class":193},[135,1466,197],{"class":141},[135,1468,200],{"class":152},[135,1470,1471],{"class":137,"line":178},[135,1472,206],{"class":152},[135,1474,1475],{"class":137,"line":184},[135,1476,463],{"class":165},[135,1478,1479,1481,1483,1485,1487],{"class":137,"line":203},[135,1480,172],{"class":145},[135,1482,470],{"class":152},[135,1484,301],{"class":141},[135,1486,476],{"class":475},[135,1488,479],{"class":152},[135,1490,1491,1493,1495],{"class":137,"line":209},[135,1492,484],{"class":152},[135,1494,487],{"class":141},[135,1496,490],{"class":152},[135,1498,1499,1501,1503,1505,1507],{"class":137,"line":215},[135,1500,187],{"class":152},[135,1502,190],{"class":141},[135,1504,499],{"class":193},[135,1506,197],{"class":141},[135,1508,200],{"class":152},[135,1510,1511],{"class":137,"line":223},[135,1512,206],{"class":152},[135,1514,1515],{"class":137,"line":228},[135,1516,512],{"class":165},[135,1518,1519,1521,1523,1525,1527,1529,1531],{"class":137,"line":242},[135,1520,172],{"class":145},[135,1522,470],{"class":152},[135,1524,521],{"class":141},[135,1526,423],{"class":145},[135,1528,526],{"class":141},[135,1530,529],{"class":475},[135,1532,479],{"class":152},[135,1534,1535,1537,1539],{"class":137,"line":247},[135,1536,484],{"class":152},[135,1538,487],{"class":141},[135,1540,540],{"class":152},[135,1542,1543,1545,1547,1549,1551],{"class":137,"line":254},[135,1544,187],{"class":152},[135,1546,190],{"class":141},[135,1548,549],{"class":193},[135,1550,197],{"class":141},[135,1552,200],{"class":152},[135,1554,1555],{"class":137,"line":260},[135,1556,206],{"class":152},[135,1558,1559],{"class":137,"line":265},[135,1560,212],{"class":165},[135,1562,1563,1565],{"class":137,"line":276},[135,1564,218],{"class":145},[135,1566,307],{"class":152},[135,1568,1569,1571,1573,1575,1577],{"class":137,"line":281},[135,1570,187],{"class":152},[135,1572,190],{"class":141},[135,1574,576],{"class":193},[135,1576,197],{"class":141},[135,1578,200],{"class":152},[135,1580,1581],{"class":137,"line":287},[135,1582,206],{"class":152},[135,1584,1585],{"class":137,"line":293},[135,1586,159],{"class":141},[135,1588,1589,1591],{"class":137,"line":298},[135,1590,593],{"class":141},[135,1592,596],{"class":152},[135,1594,1595],{"class":137,"line":310},[135,1596,257],{"class":152},[135,1598,1599],{"class":137,"line":316},[135,1600,251],{"emptyLinePlaceholder":250},[135,1602,1603,1605,1607],{"class":137,"line":325},[135,1604,268],{"class":141},[135,1606,271],{"class":145},[135,1608,175],{"class":152},[135,1610,1611],{"class":137,"line":330},[135,1612,153],{"class":152},[135,1614,1615,1617,1619,1621,1624],{"class":137,"line":335},[135,1616,677],{"class":152},[135,1618,680],{"class":145},[135,1620,470],{"class":152},[135,1622,1623],{"class":341},"18",[135,1625,688],{"class":152},[135,1627,1628],{"class":137,"line":348},[135,1629,1630],{"class":165},"    \u002F\u002F如果不写拷贝构造，编译器会自动添加拷贝构造，并且做浅拷贝操作\n",[135,1632,1633,1635,1638],{"class":137,"line":607},[135,1634,677],{"class":152},[135,1636,1637],{"class":145},"p2",[135,1639,1640],{"class":152},"(p1);\n",[135,1642,1643],{"class":137,"line":613},[135,1644,251],{"emptyLinePlaceholder":250},[135,1646,1647,1649,1651,1654,1656,1659,1661],{"class":137,"line":619},[135,1648,1245],{"class":152},[135,1650,190],{"class":141},[135,1652,1653],{"class":193}," \"p2的年龄为： \"",[135,1655,197],{"class":141},[135,1657,1658],{"class":152}," p2.age ",[135,1660,190],{"class":141},[135,1662,200],{"class":152},[135,1664,1665],{"class":137,"line":628},[135,1666,290],{"class":152},[135,1668,1669],{"class":137,"line":637},[135,1670,251],{"emptyLinePlaceholder":250},[135,1672,1673,1675,1677],{"class":137,"line":642},[135,1674,268],{"class":141},[135,1676,658],{"class":145},[135,1678,175],{"class":152},[135,1680,1681],{"class":137,"line":647},[135,1682,153],{"class":152},[135,1684,1685],{"class":137,"line":653},[135,1686,1687],{"class":165},"    \u002F\u002F如果用户提供有参构造，编译器不会提供默认构造，会提供拷贝构造\n",[135,1689,1690,1693],{"class":137,"line":663},[135,1691,1692],{"class":152},"    Person p1;",[135,1694,1695],{"class":165}," \u002F\u002F此时如果用户自己没有提供默认构造，会出错\n",[135,1697,1698,1700,1702,1704,1706,1708],{"class":137,"line":668},[135,1699,677],{"class":152},[135,1701,1637],{"class":145},[135,1703,470],{"class":152},[135,1705,685],{"class":341},[135,1707,1104],{"class":152},[135,1709,1710],{"class":165}," \u002F\u002F用户提供的有参\n",[135,1712,1713,1715,1718,1721],{"class":137,"line":674},[135,1714,677],{"class":152},[135,1716,1717],{"class":145},"p3",[135,1719,1720],{"class":152},"(p2);",[135,1722,1723],{"class":165}," \u002F\u002F此时如果用户没有提供拷贝构造，编译器会提供\n",[135,1725,1726],{"class":137,"line":691},[135,1727,251],{"emptyLinePlaceholder":250},[135,1729,1730],{"class":137,"line":697},[135,1731,1732],{"class":165},"    \u002F\u002F如果用户提供拷贝构造，编译器不会提供其他构造函数\n",[135,1734,1735,1738],{"class":137,"line":703},[135,1736,1737],{"class":152},"    Person p4;",[135,1739,1695],{"class":165},[135,1741,1742,1744,1747,1749,1751,1753],{"class":137,"line":708},[135,1743,677],{"class":152},[135,1745,1746],{"class":145},"p5",[135,1748,470],{"class":152},[135,1750,685],{"class":341},[135,1752,1104],{"class":152},[135,1754,1755],{"class":165}," \u002F\u002F此时如果用户自己没有提供有参，会出错\n",[135,1757,1758,1760,1763,1766],{"class":137,"line":714},[135,1759,677],{"class":152},[135,1761,1762],{"class":145},"p6",[135,1764,1765],{"class":152},"(p5);",[135,1767,1768],{"class":165}," \u002F\u002F用户自己提供拷贝构造\n",[135,1770,1771],{"class":137,"line":731},[135,1772,290],{"class":152},[135,1774,1775],{"class":137,"line":744},[135,1776,251],{"emptyLinePlaceholder":250},[135,1778,1779,1781,1783],{"class":137,"line":750},[135,1780,301],{"class":141},[135,1782,304],{"class":145},[135,1784,307],{"class":152},[135,1786,1787],{"class":137,"line":755},[135,1788,251],{"emptyLinePlaceholder":250},[135,1790,1791,1793],{"class":137,"line":761},[135,1792,319],{"class":145},[135,1794,322],{"class":152},[135,1796,1797],{"class":137,"line":778},[135,1798,251],{"emptyLinePlaceholder":250},[135,1800,1801],{"class":137,"line":792},[135,1802,251],{"emptyLinePlaceholder":250},[135,1804,1805,1807,1809],{"class":137,"line":797},[135,1806,338],{"class":141},[135,1808,342],{"class":341},[135,1810,345],{"class":152},[135,1812,1813],{"class":137,"line":803},[135,1814,290],{"class":152},[30,1816,1817],{},[34,1818,355],{},[126,1820,1823],{"className":1821,"code":1822,"language":361,"meta":131},[359],"有参构造函数!\n拷贝构造函数!\np2的年龄为： 18\n析构函数!\n析构函数!\n",[84,1824,1822],{"__ignoreMap":131},[26,1826,1827],{"id":1827},"深拷贝与浅拷贝",[30,1829,1830],{},"深浅拷贝是面试经典问题，也是常见的一个坑",[30,1832,1833],{},"浅拷贝：简单的赋值拷贝操作",[30,1835,1836],{},"深拷贝：在堆区重新申请空间，进行拷贝操作",[30,1838,1839],{},[34,1840,392],{},[126,1842,1844],{"className":128,"code":1843,"language":130,"meta":131,"style":131},"class Person {\npublic:\n    \u002F\u002F无参（默认）构造函数\n    Person() {\n        cout \u003C\u003C \"无参构造函数!\" \u003C\u003C endl;\n    }\n    \u002F\u002F有参构造函数\n    Person(int age ,int height) {\n        \n        cout \u003C\u003C \"有参构造函数!\" \u003C\u003C endl;\n\n        m_age = age;\n        m_height = new int(height);\n        \n    }\n    \u002F\u002F拷贝构造函数  \n    Person(const Person& p) {\n        cout \u003C\u003C \"拷贝构造函数!\" \u003C\u003C endl;\n        \u002F\u002F如果不利用深拷贝在堆区创建新内存，会导致浅拷贝带来的重复释放堆区问题\n        m_age = p.m_age;\n        m_height = new int(*p.m_height);\n        \n    }\n\n    \u002F\u002F析构函数\n    ~Person() {\n        cout \u003C\u003C \"析构函数!\" \u003C\u003C endl;\n        if (m_height != NULL)\n        {\n            delete m_height;\n        }\n    }\npublic:\n    int m_age;\n    int* m_height;\n};\n\nvoid test01()\n{\n    Person p1(18, 180);\n\n    Person p2(p1);\n\n    cout \u003C\u003C \"p1的年龄： \" \u003C\u003C p1.m_age \u003C\u003C \" 身高： \" \u003C\u003C *p1.m_height \u003C\u003C endl;\n\n    cout \u003C\u003C \"p2的年龄： \" \u003C\u003C p2.m_age \u003C\u003C \" 身高： \" \u003C\u003C *p2.m_height \u003C\u003C endl;\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[84,1845,1846,1854,1858,1862,1868,1880,1884,1888,1908,1913,1925,1929,1938,1954,1958,1962,1967,1983,1995,2000,2009,2027,2031,2035,2039,2043,2049,2061,2078,2083,2091,2096,2100,2104,2111,2118,2122,2126,2134,2138,2156,2160,2168,2172,2202,2206,2235,2239,2243,2251,2255,2261,2265,2269,2277],{"__ignoreMap":131},[135,1847,1848,1850,1852],{"class":137,"line":138},[135,1849,142],{"class":141},[135,1851,423],{"class":145},[135,1853,426],{"class":152},[135,1855,1856],{"class":137,"line":149},[135,1857,159],{"class":141},[135,1859,1860],{"class":137,"line":156},[135,1861,435],{"class":165},[135,1863,1864,1866],{"class":137,"line":162},[135,1865,172],{"class":145},[135,1867,307],{"class":152},[135,1869,1870,1872,1874,1876,1878],{"class":137,"line":169},[135,1871,187],{"class":152},[135,1873,190],{"class":141},[135,1875,450],{"class":193},[135,1877,197],{"class":141},[135,1879,200],{"class":152},[135,1881,1882],{"class":137,"line":178},[135,1883,206],{"class":152},[135,1885,1886],{"class":137,"line":184},[135,1887,463],{"class":165},[135,1889,1890,1892,1894,1896,1898,1901,1903,1906],{"class":137,"line":203},[135,1891,172],{"class":145},[135,1893,470],{"class":152},[135,1895,301],{"class":141},[135,1897,959],{"class":475},[135,1899,1900],{"class":152}," ,",[135,1902,301],{"class":141},[135,1904,1905],{"class":475}," height",[135,1907,479],{"class":152},[135,1909,1910],{"class":137,"line":209},[135,1911,1912],{"class":152},"        \n",[135,1914,1915,1917,1919,1921,1923],{"class":137,"line":215},[135,1916,187],{"class":152},[135,1918,190],{"class":141},[135,1920,499],{"class":193},[135,1922,197],{"class":141},[135,1924,200],{"class":152},[135,1926,1927],{"class":137,"line":223},[135,1928,251],{"emptyLinePlaceholder":250},[135,1930,1931,1934,1936],{"class":137,"line":228},[135,1932,1933],{"class":152},"        m_age ",[135,1935,487],{"class":141},[135,1937,596],{"class":152},[135,1939,1940,1943,1945,1948,1951],{"class":137,"line":242},[135,1941,1942],{"class":152},"        m_height ",[135,1944,487],{"class":141},[135,1946,1947],{"class":141}," new",[135,1949,1950],{"class":141}," int",[135,1952,1953],{"class":152},"(height);\n",[135,1955,1956],{"class":137,"line":247},[135,1957,1912],{"class":152},[135,1959,1960],{"class":137,"line":254},[135,1961,206],{"class":152},[135,1963,1964],{"class":137,"line":260},[135,1965,1966],{"class":165},"    \u002F\u002F拷贝构造函数  \n",[135,1968,1969,1971,1973,1975,1977,1979,1981],{"class":137,"line":265},[135,1970,172],{"class":145},[135,1972,470],{"class":152},[135,1974,521],{"class":141},[135,1976,423],{"class":145},[135,1978,526],{"class":141},[135,1980,529],{"class":475},[135,1982,479],{"class":152},[135,1984,1985,1987,1989,1991,1993],{"class":137,"line":276},[135,1986,187],{"class":152},[135,1988,190],{"class":141},[135,1990,549],{"class":193},[135,1992,197],{"class":141},[135,1994,200],{"class":152},[135,1996,1997],{"class":137,"line":281},[135,1998,1999],{"class":165},"        \u002F\u002F如果不利用深拷贝在堆区创建新内存，会导致浅拷贝带来的重复释放堆区问题\n",[135,2001,2002,2004,2006],{"class":137,"line":287},[135,2003,1933],{"class":152},[135,2005,487],{"class":141},[135,2007,2008],{"class":152}," p.m_age;\n",[135,2010,2011,2013,2015,2017,2019,2021,2024],{"class":137,"line":293},[135,2012,1942],{"class":152},[135,2014,487],{"class":141},[135,2016,1947],{"class":141},[135,2018,1950],{"class":141},[135,2020,470],{"class":152},[135,2022,2023],{"class":141},"*",[135,2025,2026],{"class":152},"p.m_height);\n",[135,2028,2029],{"class":137,"line":298},[135,2030,1912],{"class":152},[135,2032,2033],{"class":137,"line":310},[135,2034,206],{"class":152},[135,2036,2037],{"class":137,"line":316},[135,2038,251],{"emptyLinePlaceholder":250},[135,2040,2041],{"class":137,"line":325},[135,2042,212],{"class":165},[135,2044,2045,2047],{"class":137,"line":330},[135,2046,218],{"class":145},[135,2048,307],{"class":152},[135,2050,2051,2053,2055,2057,2059],{"class":137,"line":335},[135,2052,187],{"class":152},[135,2054,190],{"class":141},[135,2056,576],{"class":193},[135,2058,197],{"class":141},[135,2060,200],{"class":152},[135,2062,2063,2066,2069,2072,2075],{"class":137,"line":348},[135,2064,2065],{"class":141},"        if",[135,2067,2068],{"class":152}," (m_height ",[135,2070,2071],{"class":141},"!=",[135,2073,2074],{"class":341}," NULL",[135,2076,2077],{"class":152},")\n",[135,2079,2080],{"class":137,"line":607},[135,2081,2082],{"class":152},"        {\n",[135,2084,2085,2088],{"class":137,"line":613},[135,2086,2087],{"class":141},"            delete",[135,2089,2090],{"class":152}," m_height;\n",[135,2092,2093],{"class":137,"line":619},[135,2094,2095],{"class":152},"        }\n",[135,2097,2098],{"class":137,"line":628},[135,2099,206],{"class":152},[135,2101,2102],{"class":137,"line":637},[135,2103,159],{"class":141},[135,2105,2106,2108],{"class":137,"line":642},[135,2107,593],{"class":141},[135,2109,2110],{"class":152}," m_age;\n",[135,2112,2113,2116],{"class":137,"line":647},[135,2114,2115],{"class":141},"    int*",[135,2117,2090],{"class":152},[135,2119,2120],{"class":137,"line":653},[135,2121,257],{"class":152},[135,2123,2124],{"class":137,"line":663},[135,2125,251],{"emptyLinePlaceholder":250},[135,2127,2128,2130,2132],{"class":137,"line":668},[135,2129,268],{"class":141},[135,2131,271],{"class":145},[135,2133,175],{"class":152},[135,2135,2136],{"class":137,"line":674},[135,2137,153],{"class":152},[135,2139,2140,2142,2144,2146,2148,2151,2154],{"class":137,"line":691},[135,2141,677],{"class":152},[135,2143,680],{"class":145},[135,2145,470],{"class":152},[135,2147,1623],{"class":341},[135,2149,2150],{"class":152},", ",[135,2152,2153],{"class":341},"180",[135,2155,688],{"class":152},[135,2157,2158],{"class":137,"line":697},[135,2159,251],{"emptyLinePlaceholder":250},[135,2161,2162,2164,2166],{"class":137,"line":703},[135,2163,677],{"class":152},[135,2165,1637],{"class":145},[135,2167,1640],{"class":152},[135,2169,2170],{"class":137,"line":708},[135,2171,251],{"emptyLinePlaceholder":250},[135,2173,2174,2176,2178,2181,2183,2186,2188,2191,2193,2195,2198,2200],{"class":137,"line":714},[135,2175,1245],{"class":152},[135,2177,190],{"class":141},[135,2179,2180],{"class":193}," \"p1的年龄： \"",[135,2182,197],{"class":141},[135,2184,2185],{"class":152}," p1.m_age ",[135,2187,190],{"class":141},[135,2189,2190],{"class":193}," \" 身高： \"",[135,2192,197],{"class":141},[135,2194,1255],{"class":141},[135,2196,2197],{"class":152},"p1.m_height ",[135,2199,190],{"class":141},[135,2201,200],{"class":152},[135,2203,2204],{"class":137,"line":731},[135,2205,251],{"emptyLinePlaceholder":250},[135,2207,2208,2210,2212,2215,2217,2220,2222,2224,2226,2228,2231,2233],{"class":137,"line":744},[135,2209,1245],{"class":152},[135,2211,190],{"class":141},[135,2213,2214],{"class":193}," \"p2的年龄： \"",[135,2216,197],{"class":141},[135,2218,2219],{"class":152}," p2.m_age ",[135,2221,190],{"class":141},[135,2223,2190],{"class":193},[135,2225,197],{"class":141},[135,2227,1255],{"class":141},[135,2229,2230],{"class":152},"p2.m_height ",[135,2232,190],{"class":141},[135,2234,200],{"class":152},[135,2236,2237],{"class":137,"line":750},[135,2238,290],{"class":152},[135,2240,2241],{"class":137,"line":755},[135,2242,251],{"emptyLinePlaceholder":250},[135,2244,2245,2247,2249],{"class":137,"line":761},[135,2246,301],{"class":141},[135,2248,304],{"class":145},[135,2250,307],{"class":152},[135,2252,2253],{"class":137,"line":778},[135,2254,251],{"emptyLinePlaceholder":250},[135,2256,2257,2259],{"class":137,"line":792},[135,2258,319],{"class":145},[135,2260,322],{"class":152},[135,2262,2263],{"class":137,"line":797},[135,2264,251],{"emptyLinePlaceholder":250},[135,2266,2267],{"class":137,"line":803},[135,2268,251],{"emptyLinePlaceholder":250},[135,2270,2271,2273,2275],{"class":137,"line":809},[135,2272,338],{"class":141},[135,2274,342],{"class":341},[135,2276,345],{"class":152},[135,2278,2279],{"class":137,"line":814},[135,2280,290],{"class":152},[30,2282,2283],{},[34,2284,355],{},[126,2286,2289],{"className":2287,"code":2288,"language":361,"meta":131},[359],"有参构造函数!\n拷贝构造函数!\np1的年龄： 18 身高： 180\np2的年龄： 18 身高： 180\n析构函数!\n析构函数!\n",[84,2290,2288],{"__ignoreMap":131},[2292,2293,2294],"blockquote",{},[30,2295,2296],{},"总结：如果属性有在堆区开辟的，一定要自己提供拷贝构造函数，防止浅拷贝带来的问题",[26,2298,2299],{"id":2299},"初始化列表",[30,2301,2302],{},[34,2303,2304],{},"作用：",[30,2306,2307],{},"C++提供了初始化列表语法，用来初始化属性",[30,2309,2310,2313],{},[34,2311,2312],{},"语法：",[84,2314,2315],{},"构造函数()：属性1(值1),属性2（值2）... {}",[30,2317,2318],{},[34,2319,392],{},[126,2321,2323],{"className":128,"code":2322,"language":130,"meta":131,"style":131},"class Person {\npublic:\n\n    \u002F\u002F\u002F\u002F传统方式初始化\n    \u002F\u002FPerson(int a, int b, int c) {\n    \u002F\u002F  m_A = a;\n    \u002F\u002F  m_B = b;\n    \u002F\u002F  m_C = c;\n    \u002F\u002F}\n\n    \u002F\u002F初始化列表方式初始化\n    Person(int a, int b, int c) :m_A(a), m_B(b), m_C(c) {}\n    void PrintPerson() {\n        cout \u003C\u003C \"mA:\" \u003C\u003C m_A \u003C\u003C endl;\n        cout \u003C\u003C \"mB:\" \u003C\u003C m_B \u003C\u003C endl;\n        cout \u003C\u003C \"mC:\" \u003C\u003C m_C \u003C\u003C endl;\n    }\nprivate:\n    int m_A;\n    int m_B;\n    int m_C;\n};\n\nint main() {\n\n    Person p(1, 2, 3);\n    p.PrintPerson();\n\n\n    return 0;\n}\n",[84,2324,2325,2333,2337,2341,2346,2351,2356,2361,2366,2371,2375,2380,2425,2435,2453,2471,2489,2493,2498,2505,2512,2519,2523,2527,2535,2539,2562,2572,2576,2580,2588],{"__ignoreMap":131},[135,2326,2327,2329,2331],{"class":137,"line":138},[135,2328,142],{"class":141},[135,2330,423],{"class":145},[135,2332,426],{"class":152},[135,2334,2335],{"class":137,"line":149},[135,2336,159],{"class":141},[135,2338,2339],{"class":137,"line":156},[135,2340,251],{"emptyLinePlaceholder":250},[135,2342,2343],{"class":137,"line":162},[135,2344,2345],{"class":165},"    \u002F\u002F\u002F\u002F传统方式初始化\n",[135,2347,2348],{"class":137,"line":169},[135,2349,2350],{"class":165},"    \u002F\u002FPerson(int a, int b, int c) {\n",[135,2352,2353],{"class":137,"line":178},[135,2354,2355],{"class":165},"    \u002F\u002F  m_A = a;\n",[135,2357,2358],{"class":137,"line":184},[135,2359,2360],{"class":165},"    \u002F\u002F  m_B = b;\n",[135,2362,2363],{"class":137,"line":203},[135,2364,2365],{"class":165},"    \u002F\u002F  m_C = c;\n",[135,2367,2368],{"class":137,"line":209},[135,2369,2370],{"class":165},"    \u002F\u002F}\n",[135,2372,2373],{"class":137,"line":215},[135,2374,251],{"emptyLinePlaceholder":250},[135,2376,2377],{"class":137,"line":223},[135,2378,2379],{"class":165},"    \u002F\u002F初始化列表方式初始化\n",[135,2381,2382,2384,2386,2388,2390,2392,2394,2397,2399,2401,2404,2407,2410,2413,2416,2419,2422],{"class":137,"line":228},[135,2383,172],{"class":145},[135,2385,470],{"class":152},[135,2387,301],{"class":141},[135,2389,476],{"class":475},[135,2391,2150],{"class":152},[135,2393,301],{"class":141},[135,2395,2396],{"class":475}," b",[135,2398,2150],{"class":152},[135,2400,301],{"class":141},[135,2402,2403],{"class":475}," c",[135,2405,2406],{"class":152},") :",[135,2408,2409],{"class":145},"m_A",[135,2411,2412],{"class":152},"(a), ",[135,2414,2415],{"class":145},"m_B",[135,2417,2418],{"class":152},"(b), ",[135,2420,2421],{"class":145},"m_C",[135,2423,2424],{"class":152},"(c) {}\n",[135,2426,2427,2430,2433],{"class":137,"line":242},[135,2428,2429],{"class":141},"    void",[135,2431,2432],{"class":145}," PrintPerson",[135,2434,307],{"class":152},[135,2436,2437,2439,2441,2444,2446,2449,2451],{"class":137,"line":247},[135,2438,187],{"class":152},[135,2440,190],{"class":141},[135,2442,2443],{"class":193}," \"mA:\"",[135,2445,197],{"class":141},[135,2447,2448],{"class":152}," m_A ",[135,2450,190],{"class":141},[135,2452,200],{"class":152},[135,2454,2455,2457,2459,2462,2464,2467,2469],{"class":137,"line":254},[135,2456,187],{"class":152},[135,2458,190],{"class":141},[135,2460,2461],{"class":193}," \"mB:\"",[135,2463,197],{"class":141},[135,2465,2466],{"class":152}," m_B ",[135,2468,190],{"class":141},[135,2470,200],{"class":152},[135,2472,2473,2475,2477,2480,2482,2485,2487],{"class":137,"line":260},[135,2474,187],{"class":152},[135,2476,190],{"class":141},[135,2478,2479],{"class":193}," \"mC:\"",[135,2481,197],{"class":141},[135,2483,2484],{"class":152}," m_C ",[135,2486,190],{"class":141},[135,2488,200],{"class":152},[135,2490,2491],{"class":137,"line":265},[135,2492,206],{"class":152},[135,2494,2495],{"class":137,"line":276},[135,2496,2497],{"class":141},"private:\n",[135,2499,2500,2502],{"class":137,"line":281},[135,2501,593],{"class":141},[135,2503,2504],{"class":152}," m_A;\n",[135,2506,2507,2509],{"class":137,"line":287},[135,2508,593],{"class":141},[135,2510,2511],{"class":152}," m_B;\n",[135,2513,2514,2516],{"class":137,"line":293},[135,2515,593],{"class":141},[135,2517,2518],{"class":152}," m_C;\n",[135,2520,2521],{"class":137,"line":298},[135,2522,257],{"class":152},[135,2524,2525],{"class":137,"line":310},[135,2526,251],{"emptyLinePlaceholder":250},[135,2528,2529,2531,2533],{"class":137,"line":316},[135,2530,301],{"class":141},[135,2532,304],{"class":145},[135,2534,307],{"class":152},[135,2536,2537],{"class":137,"line":325},[135,2538,251],{"emptyLinePlaceholder":250},[135,2540,2541,2543,2545,2547,2550,2552,2555,2557,2560],{"class":137,"line":330},[135,2542,677],{"class":152},[135,2544,30],{"class":145},[135,2546,470],{"class":152},[135,2548,2549],{"class":341},"1",[135,2551,2150],{"class":152},[135,2553,2554],{"class":341},"2",[135,2556,2150],{"class":152},[135,2558,2559],{"class":341},"3",[135,2561,688],{"class":152},[135,2563,2564,2567,2570],{"class":137,"line":335},[135,2565,2566],{"class":152},"    p.",[135,2568,2569],{"class":145},"PrintPerson",[135,2571,322],{"class":152},[135,2573,2574],{"class":137,"line":348},[135,2575,251],{"emptyLinePlaceholder":250},[135,2577,2578],{"class":137,"line":607},[135,2579,251],{"emptyLinePlaceholder":250},[135,2581,2582,2584,2586],{"class":137,"line":613},[135,2583,338],{"class":141},[135,2585,342],{"class":341},[135,2587,345],{"class":152},[135,2589,2590],{"class":137,"line":619},[135,2591,290],{"class":152},[30,2593,2594],{},[34,2595,355],{},[126,2597,2600],{"className":2598,"code":2599,"language":361,"meta":131},[359],"mA:1\nmB:2\nmC:3\n",[84,2601,2599],{"__ignoreMap":131},[26,2603,2604],{"id":2604},"类对象作为类成员",[30,2606,2607],{},"C++类中的成员可以是另一个类的对象，我们称该成员为 对象成员",[30,2609,2610],{},"例如：",[126,2612,2614],{"className":128,"code":2613,"language":130,"meta":131,"style":131},"class A {}\nclass B\n{\n    A a；\n}\n",[84,2615,2616,2626,2633,2637,2642],{"__ignoreMap":131},[135,2617,2618,2620,2623],{"class":137,"line":138},[135,2619,142],{"class":141},[135,2621,2622],{"class":145}," A",[135,2624,2625],{"class":152}," {}\n",[135,2627,2628,2630],{"class":137,"line":149},[135,2629,142],{"class":141},[135,2631,2632],{"class":145}," B\n",[135,2634,2635],{"class":137,"line":156},[135,2636,153],{"class":152},[135,2638,2639],{"class":137,"line":162},[135,2640,2641],{"class":152},"    A a；\n",[135,2643,2644],{"class":137,"line":169},[135,2645,290],{"class":152},[30,2647,2648,2650,2651,2654],{},[34,2649,355],{}," 此代码块不含 ",[84,2652,2653],{},"main"," 函数，是语法、接口或分文件示例，不能独立运行，因此没有终端输出。",[30,2656,2657],{},"B类中有对象A作为成员，A为对象成员",[30,2659,2660],{},"那么当创建B对象时，A与B的构造和析构的顺序是谁先谁后？",[30,2662,2663],{},[34,2664,392],{},[126,2666,2668],{"className":128,"code":2667,"language":130,"meta":131,"style":131},"class Phone\n{\npublic:\n    Phone(string name)\n    {\n        m_PhoneName = name;\n        cout \u003C\u003C \"Phone构造\" \u003C\u003C endl;\n    }\n\n    ~Phone()\n    {\n        cout \u003C\u003C \"Phone析构\" \u003C\u003C endl;\n    }\n\n    string m_PhoneName;\n\n};\n\nclass Person\n{\npublic:\n\n    \u002F\u002F初始化列表可以告诉编译器调用哪一个构造函数\n    Person(string name, string pName) :m_Name(name), m_Phone(pName)\n    {\n        cout \u003C\u003C \"Person构造\" \u003C\u003C endl;\n    }\n\n    ~Person()\n    {\n        cout \u003C\u003C \"Person析构\" \u003C\u003C endl;\n    }\n\n    void playGame()\n    {\n        cout \u003C\u003C m_Name \u003C\u003C \" 使用\" \u003C\u003C m_Phone.m_PhoneName \u003C\u003C \" 牌手机! \" \u003C\u003C endl;\n    }\n\n    string m_Name;\n    Phone m_Phone;\n\n};\nvoid test01()\n{\n    \u002F\u002F当类中成员是其他类对象时，我们称该成员为 对象成员\n    \u002F\u002F构造的顺序是 ：先调用对象成员的构造，再调用本类构造\n    \u002F\u002F析构顺序与构造相反\n    Person p(\"张三\" , \"苹果X\");\n    p.playGame();\n\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[84,2669,2670,2677,2681,2685,2700,2704,2714,2727,2731,2735,2742,2746,2759,2763,2767,2772,2776,2780,2784,2790,2794,2798,2802,2807,2838,2842,2855,2859,2863,2869,2873,2886,2890,2894,2903,2907,2935,2939,2943,2948,2953,2957,2961,2969,2973,2978,2983,2988,3007,3016,3020,3024,3028,3036,3040,3046,3050,3054,3062],{"__ignoreMap":131},[135,2671,2672,2674],{"class":137,"line":138},[135,2673,142],{"class":141},[135,2675,2676],{"class":145}," Phone\n",[135,2678,2679],{"class":137,"line":149},[135,2680,153],{"class":152},[135,2682,2683],{"class":137,"line":156},[135,2684,159],{"class":141},[135,2686,2687,2690,2692,2695,2698],{"class":137,"line":162},[135,2688,2689],{"class":145},"    Phone",[135,2691,470],{"class":152},[135,2693,2694],{"class":145},"string",[135,2696,2697],{"class":475}," name",[135,2699,2077],{"class":152},[135,2701,2702],{"class":137,"line":169},[135,2703,181],{"class":152},[135,2705,2706,2709,2711],{"class":137,"line":178},[135,2707,2708],{"class":152},"        m_PhoneName ",[135,2710,487],{"class":141},[135,2712,2713],{"class":152}," name;\n",[135,2715,2716,2718,2720,2723,2725],{"class":137,"line":184},[135,2717,187],{"class":152},[135,2719,190],{"class":141},[135,2721,2722],{"class":193}," \"Phone构造\"",[135,2724,197],{"class":141},[135,2726,200],{"class":152},[135,2728,2729],{"class":137,"line":203},[135,2730,206],{"class":152},[135,2732,2733],{"class":137,"line":209},[135,2734,251],{"emptyLinePlaceholder":250},[135,2736,2737,2740],{"class":137,"line":215},[135,2738,2739],{"class":145},"    ~Phone",[135,2741,175],{"class":152},[135,2743,2744],{"class":137,"line":223},[135,2745,181],{"class":152},[135,2747,2748,2750,2752,2755,2757],{"class":137,"line":228},[135,2749,187],{"class":152},[135,2751,190],{"class":141},[135,2753,2754],{"class":193}," \"Phone析构\"",[135,2756,197],{"class":141},[135,2758,200],{"class":152},[135,2760,2761],{"class":137,"line":242},[135,2762,206],{"class":152},[135,2764,2765],{"class":137,"line":247},[135,2766,251],{"emptyLinePlaceholder":250},[135,2768,2769],{"class":137,"line":254},[135,2770,2771],{"class":152},"    string m_PhoneName;\n",[135,2773,2774],{"class":137,"line":260},[135,2775,251],{"emptyLinePlaceholder":250},[135,2777,2778],{"class":137,"line":265},[135,2779,257],{"class":152},[135,2781,2782],{"class":137,"line":276},[135,2783,251],{"emptyLinePlaceholder":250},[135,2785,2786,2788],{"class":137,"line":281},[135,2787,142],{"class":141},[135,2789,146],{"class":145},[135,2791,2792],{"class":137,"line":287},[135,2793,153],{"class":152},[135,2795,2796],{"class":137,"line":293},[135,2797,159],{"class":141},[135,2799,2800],{"class":137,"line":298},[135,2801,251],{"emptyLinePlaceholder":250},[135,2803,2804],{"class":137,"line":310},[135,2805,2806],{"class":165},"    \u002F\u002F初始化列表可以告诉编译器调用哪一个构造函数\n",[135,2808,2809,2811,2813,2815,2817,2819,2821,2824,2826,2829,2832,2835],{"class":137,"line":316},[135,2810,172],{"class":145},[135,2812,470],{"class":152},[135,2814,2694],{"class":145},[135,2816,2697],{"class":475},[135,2818,2150],{"class":152},[135,2820,2694],{"class":145},[135,2822,2823],{"class":475}," pName",[135,2825,2406],{"class":152},[135,2827,2828],{"class":145},"m_Name",[135,2830,2831],{"class":152},"(name), ",[135,2833,2834],{"class":145},"m_Phone",[135,2836,2837],{"class":152},"(pName)\n",[135,2839,2840],{"class":137,"line":325},[135,2841,181],{"class":152},[135,2843,2844,2846,2848,2851,2853],{"class":137,"line":330},[135,2845,187],{"class":152},[135,2847,190],{"class":141},[135,2849,2850],{"class":193}," \"Person构造\"",[135,2852,197],{"class":141},[135,2854,200],{"class":152},[135,2856,2857],{"class":137,"line":335},[135,2858,206],{"class":152},[135,2860,2861],{"class":137,"line":348},[135,2862,251],{"emptyLinePlaceholder":250},[135,2864,2865,2867],{"class":137,"line":607},[135,2866,218],{"class":145},[135,2868,175],{"class":152},[135,2870,2871],{"class":137,"line":613},[135,2872,181],{"class":152},[135,2874,2875,2877,2879,2882,2884],{"class":137,"line":619},[135,2876,187],{"class":152},[135,2878,190],{"class":141},[135,2880,2881],{"class":193}," \"Person析构\"",[135,2883,197],{"class":141},[135,2885,200],{"class":152},[135,2887,2888],{"class":137,"line":628},[135,2889,206],{"class":152},[135,2891,2892],{"class":137,"line":637},[135,2893,251],{"emptyLinePlaceholder":250},[135,2895,2896,2898,2901],{"class":137,"line":642},[135,2897,2429],{"class":141},[135,2899,2900],{"class":145}," playGame",[135,2902,175],{"class":152},[135,2904,2905],{"class":137,"line":647},[135,2906,181],{"class":152},[135,2908,2909,2911,2913,2916,2918,2921,2923,2926,2928,2931,2933],{"class":137,"line":653},[135,2910,187],{"class":152},[135,2912,190],{"class":141},[135,2914,2915],{"class":152}," m_Name ",[135,2917,190],{"class":141},[135,2919,2920],{"class":193}," \" 使用\"",[135,2922,197],{"class":141},[135,2924,2925],{"class":152}," m_Phone.m_PhoneName ",[135,2927,190],{"class":141},[135,2929,2930],{"class":193}," \" 牌手机! \"",[135,2932,197],{"class":141},[135,2934,200],{"class":152},[135,2936,2937],{"class":137,"line":663},[135,2938,206],{"class":152},[135,2940,2941],{"class":137,"line":668},[135,2942,251],{"emptyLinePlaceholder":250},[135,2944,2945],{"class":137,"line":674},[135,2946,2947],{"class":152},"    string m_Name;\n",[135,2949,2950],{"class":137,"line":691},[135,2951,2952],{"class":152},"    Phone m_Phone;\n",[135,2954,2955],{"class":137,"line":697},[135,2956,251],{"emptyLinePlaceholder":250},[135,2958,2959],{"class":137,"line":703},[135,2960,257],{"class":152},[135,2962,2963,2965,2967],{"class":137,"line":708},[135,2964,268],{"class":141},[135,2966,271],{"class":145},[135,2968,175],{"class":152},[135,2970,2971],{"class":137,"line":714},[135,2972,153],{"class":152},[135,2974,2975],{"class":137,"line":731},[135,2976,2977],{"class":165},"    \u002F\u002F当类中成员是其他类对象时，我们称该成员为 对象成员\n",[135,2979,2980],{"class":137,"line":744},[135,2981,2982],{"class":165},"    \u002F\u002F构造的顺序是 ：先调用对象成员的构造，再调用本类构造\n",[135,2984,2985],{"class":137,"line":750},[135,2986,2987],{"class":165},"    \u002F\u002F析构顺序与构造相反\n",[135,2989,2990,2992,2994,2996,2999,3002,3005],{"class":137,"line":755},[135,2991,677],{"class":152},[135,2993,30],{"class":145},[135,2995,470],{"class":152},[135,2997,2998],{"class":193},"\"张三\"",[135,3000,3001],{"class":152}," , ",[135,3003,3004],{"class":193},"\"苹果X\"",[135,3006,688],{"class":152},[135,3008,3009,3011,3014],{"class":137,"line":761},[135,3010,2566],{"class":152},[135,3012,3013],{"class":145},"playGame",[135,3015,322],{"class":152},[135,3017,3018],{"class":137,"line":778},[135,3019,251],{"emptyLinePlaceholder":250},[135,3021,3022],{"class":137,"line":792},[135,3023,290],{"class":152},[135,3025,3026],{"class":137,"line":797},[135,3027,251],{"emptyLinePlaceholder":250},[135,3029,3030,3032,3034],{"class":137,"line":803},[135,3031,301],{"class":141},[135,3033,304],{"class":145},[135,3035,307],{"class":152},[135,3037,3038],{"class":137,"line":809},[135,3039,251],{"emptyLinePlaceholder":250},[135,3041,3042,3044],{"class":137,"line":814},[135,3043,319],{"class":145},[135,3045,322],{"class":152},[135,3047,3048],{"class":137,"line":819},[135,3049,251],{"emptyLinePlaceholder":250},[135,3051,3052],{"class":137,"line":828},[135,3053,251],{"emptyLinePlaceholder":250},[135,3055,3056,3058,3060],{"class":137,"line":833},[135,3057,338],{"class":141},[135,3059,342],{"class":341},[135,3061,345],{"class":152},[135,3063,3064],{"class":137,"line":840},[135,3065,290],{"class":152},[30,3067,3068],{},[34,3069,355],{},[126,3071,3074],{"className":3072,"code":3073,"language":361,"meta":131},[359],"Phone构造\nPerson构造\n张三 使用苹果X 牌手机!\nPerson析构\nPhone析构\n",[84,3075,3073],{"__ignoreMap":131},[26,3077,3078],{"id":3078},"静态成员",[30,3080,3081],{},"静态成员就是在成员变量和成员函数前加上关键字static，称为静态成员",[30,3083,3084],{},"静态成员分为：",[16,3086,3087,3101],{},[19,3088,3089,3090],{},"静态成员变量\n",[16,3091,3092,3095,3098],{},[19,3093,3094],{},"所有对象共享同一份数据",[19,3096,3097],{},"在编译阶段分配内存",[19,3099,3100],{},"类内声明，类外初始化",[19,3102,3103,3104],{},"静态成员函数\n",[16,3105,3106,3109],{},[19,3107,3108],{},"所有对象共享同一个函数",[19,3110,3111],{},"静态成员函数只能访问静态成员变量",[30,3113,3114],{},"**示例1 ：**静态成员变量",[126,3116,3118],{"className":128,"code":3117,"language":130,"meta":131,"style":131},"class Person\n{\n    \npublic:\n\n    static int m_A; \u002F\u002F静态成员变量\n\n    \u002F\u002F静态成员变量特点：\n    \u002F\u002F1 在编译阶段分配内存\n    \u002F\u002F2 类内声明，类外初始化\n    \u002F\u002F3 所有对象共享同一份数据\n\nprivate:\n    static int m_B; \u002F\u002F静态成员变量也是有访问权限的\n};\nint Person::m_A = 10;\nint Person::m_B = 10;\n\nvoid test01()\n{\n    \u002F\u002F静态成员变量两种访问方式\n\n    \u002F\u002F1、通过对象\n    Person p1;\n    p1.m_A = 100;\n    cout \u003C\u003C \"p1.m_A = \" \u003C\u003C p1.m_A \u003C\u003C endl;\n\n    Person p2;\n    p2.m_A = 200;\n    cout \u003C\u003C \"p1.m_A = \" \u003C\u003C p1.m_A \u003C\u003C endl; \u002F\u002F共享同一份数据\n    cout \u003C\u003C \"p2.m_A = \" \u003C\u003C p2.m_A \u003C\u003C endl;\n\n    \u002F\u002F2、通过类名\n    cout \u003C\u003C \"m_A = \" \u003C\u003C Person::m_A \u003C\u003C endl;\n\n    \u002F\u002Fcout \u003C\u003C \"m_B = \" \u003C\u003C Person::m_B \u003C\u003C endl; \u002F\u002F私有权限访问不到\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[84,3119,3120,3126,3130,3134,3138,3142,3155,3159,3164,3169,3174,3179,3183,3187,3199,3203,3218,3233,3237,3245,3249,3254,3258,3263,3267,3279,3297,3301,3306,3318,3338,3356,3360,3365,3384,3388,3396,3400,3404,3412,3416,3422,3426,3430,3438],{"__ignoreMap":131},[135,3121,3122,3124],{"class":137,"line":138},[135,3123,142],{"class":141},[135,3125,146],{"class":145},[135,3127,3128],{"class":137,"line":149},[135,3129,153],{"class":152},[135,3131,3132],{"class":137,"line":156},[135,3133,313],{"class":152},[135,3135,3136],{"class":137,"line":162},[135,3137,159],{"class":141},[135,3139,3140],{"class":137,"line":169},[135,3141,251],{"emptyLinePlaceholder":250},[135,3143,3144,3147,3149,3152],{"class":137,"line":178},[135,3145,3146],{"class":141},"    static",[135,3148,1950],{"class":141},[135,3150,3151],{"class":152}," m_A;",[135,3153,3154],{"class":165}," \u002F\u002F静态成员变量\n",[135,3156,3157],{"class":137,"line":184},[135,3158,251],{"emptyLinePlaceholder":250},[135,3160,3161],{"class":137,"line":203},[135,3162,3163],{"class":165},"    \u002F\u002F静态成员变量特点：\n",[135,3165,3166],{"class":137,"line":209},[135,3167,3168],{"class":165},"    \u002F\u002F1 在编译阶段分配内存\n",[135,3170,3171],{"class":137,"line":215},[135,3172,3173],{"class":165},"    \u002F\u002F2 类内声明，类外初始化\n",[135,3175,3176],{"class":137,"line":223},[135,3177,3178],{"class":165},"    \u002F\u002F3 所有对象共享同一份数据\n",[135,3180,3181],{"class":137,"line":228},[135,3182,251],{"emptyLinePlaceholder":250},[135,3184,3185],{"class":137,"line":242},[135,3186,2497],{"class":141},[135,3188,3189,3191,3193,3196],{"class":137,"line":247},[135,3190,3146],{"class":141},[135,3192,1950],{"class":141},[135,3194,3195],{"class":152}," m_B;",[135,3197,3198],{"class":165}," \u002F\u002F静态成员变量也是有访问权限的\n",[135,3200,3201],{"class":137,"line":254},[135,3202,257],{"class":152},[135,3204,3205,3207,3209,3212,3214,3216],{"class":137,"line":260},[135,3206,301],{"class":141},[135,3208,423],{"class":145},[135,3210,3211],{"class":152},"::m_A ",[135,3213,487],{"class":141},[135,3215,769],{"class":341},[135,3217,345],{"class":152},[135,3219,3220,3222,3224,3227,3229,3231],{"class":137,"line":265},[135,3221,301],{"class":141},[135,3223,423],{"class":145},[135,3225,3226],{"class":152},"::m_B ",[135,3228,487],{"class":141},[135,3230,769],{"class":341},[135,3232,345],{"class":152},[135,3234,3235],{"class":137,"line":276},[135,3236,251],{"emptyLinePlaceholder":250},[135,3238,3239,3241,3243],{"class":137,"line":281},[135,3240,268],{"class":141},[135,3242,271],{"class":145},[135,3244,175],{"class":152},[135,3246,3247],{"class":137,"line":287},[135,3248,153],{"class":152},[135,3250,3251],{"class":137,"line":293},[135,3252,3253],{"class":165},"    \u002F\u002F静态成员变量两种访问方式\n",[135,3255,3256],{"class":137,"line":298},[135,3257,251],{"emptyLinePlaceholder":250},[135,3259,3260],{"class":137,"line":310},[135,3261,3262],{"class":165},"    \u002F\u002F1、通过对象\n",[135,3264,3265],{"class":137,"line":316},[135,3266,1240],{"class":152},[135,3268,3269,3272,3274,3277],{"class":137,"line":325},[135,3270,3271],{"class":152},"    p1.m_A ",[135,3273,487],{"class":141},[135,3275,3276],{"class":341}," 100",[135,3278,345],{"class":152},[135,3280,3281,3283,3285,3288,3290,3293,3295],{"class":137,"line":330},[135,3282,1245],{"class":152},[135,3284,190],{"class":141},[135,3286,3287],{"class":193}," \"p1.m_A = \"",[135,3289,197],{"class":141},[135,3291,3292],{"class":152}," p1.m_A ",[135,3294,190],{"class":141},[135,3296,200],{"class":152},[135,3298,3299],{"class":137,"line":335},[135,3300,251],{"emptyLinePlaceholder":250},[135,3302,3303],{"class":137,"line":348},[135,3304,3305],{"class":152},"    Person p2;\n",[135,3307,3308,3311,3313,3316],{"class":137,"line":607},[135,3309,3310],{"class":152},"    p2.m_A ",[135,3312,487],{"class":141},[135,3314,3315],{"class":341}," 200",[135,3317,345],{"class":152},[135,3319,3320,3322,3324,3326,3328,3330,3332,3335],{"class":137,"line":613},[135,3321,1245],{"class":152},[135,3323,190],{"class":141},[135,3325,3287],{"class":193},[135,3327,197],{"class":141},[135,3329,3292],{"class":152},[135,3331,190],{"class":141},[135,3333,3334],{"class":152}," endl;",[135,3336,3337],{"class":165}," \u002F\u002F共享同一份数据\n",[135,3339,3340,3342,3344,3347,3349,3352,3354],{"class":137,"line":619},[135,3341,1245],{"class":152},[135,3343,190],{"class":141},[135,3345,3346],{"class":193}," \"p2.m_A = \"",[135,3348,197],{"class":141},[135,3350,3351],{"class":152}," p2.m_A ",[135,3353,190],{"class":141},[135,3355,200],{"class":152},[135,3357,3358],{"class":137,"line":628},[135,3359,251],{"emptyLinePlaceholder":250},[135,3361,3362],{"class":137,"line":637},[135,3363,3364],{"class":165},"    \u002F\u002F2、通过类名\n",[135,3366,3367,3369,3371,3374,3376,3378,3380,3382],{"class":137,"line":642},[135,3368,1245],{"class":152},[135,3370,190],{"class":141},[135,3372,3373],{"class":193}," \"m_A = \"",[135,3375,197],{"class":141},[135,3377,423],{"class":145},[135,3379,3211],{"class":152},[135,3381,190],{"class":141},[135,3383,200],{"class":152},[135,3385,3386],{"class":137,"line":647},[135,3387,251],{"emptyLinePlaceholder":250},[135,3389,3390,3393],{"class":137,"line":653},[135,3391,3392],{"class":165},"    \u002F\u002Fcout \u003C\u003C \"m_B = \" \u003C\u003C Person::m_B \u003C\u003C endl;",[135,3394,3395],{"class":165}," \u002F\u002F私有权限访问不到\n",[135,3397,3398],{"class":137,"line":663},[135,3399,290],{"class":152},[135,3401,3402],{"class":137,"line":668},[135,3403,251],{"emptyLinePlaceholder":250},[135,3405,3406,3408,3410],{"class":137,"line":674},[135,3407,301],{"class":141},[135,3409,304],{"class":145},[135,3411,307],{"class":152},[135,3413,3414],{"class":137,"line":691},[135,3415,251],{"emptyLinePlaceholder":250},[135,3417,3418,3420],{"class":137,"line":697},[135,3419,319],{"class":145},[135,3421,322],{"class":152},[135,3423,3424],{"class":137,"line":703},[135,3425,251],{"emptyLinePlaceholder":250},[135,3427,3428],{"class":137,"line":708},[135,3429,251],{"emptyLinePlaceholder":250},[135,3431,3432,3434,3436],{"class":137,"line":714},[135,3433,338],{"class":141},[135,3435,342],{"class":341},[135,3437,345],{"class":152},[135,3439,3440],{"class":137,"line":731},[135,3441,290],{"class":152},[30,3443,3444],{},[34,3445,355],{},[126,3447,3450],{"className":3448,"code":3449,"language":361,"meta":131},[359],"p1.m_A = 100\np1.m_A = 200\np2.m_A = 200\nm_A = 200\n",[84,3451,3449],{"__ignoreMap":131},[30,3453,3454],{},"**示例2：**静态成员函数",[126,3456,3458],{"className":128,"code":3457,"language":130,"meta":131,"style":131},"class Person\n{\n\npublic:\n\n    \u002F\u002F静态成员函数特点：\n    \u002F\u002F1 程序共享一个函数\n    \u002F\u002F2 静态成员函数只能访问静态成员变量\n    \n    static void func()\n    {\n        cout \u003C\u003C \"func调用\" \u003C\u003C endl;\n        m_A = 100;\n        \u002F\u002Fm_B = 100; \u002F\u002F错误，不可以访问非静态成员变量\n    }\n\n    static int m_A; \u002F\u002F静态成员变量\n    int m_B; \u002F\u002F \nprivate:\n\n    \u002F\u002F静态成员函数也是有访问权限的\n    static void func2()\n    {\n        cout \u003C\u003C \"func2调用\" \u003C\u003C endl;\n    }\n};\nint Person::m_A = 10;\n\nvoid test01()\n{\n    \u002F\u002F静态成员变量两种访问方式\n\n    \u002F\u002F1、通过对象\n    Person p1;\n    p1.func();\n\n    \u002F\u002F2、通过类名\n    Person::func();\n\n    \u002F\u002FPerson::func2(); \u002F\u002F私有权限访问不到\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[84,3459,3460,3466,3470,3474,3478,3482,3487,3492,3497,3501,3513,3517,3530,3541,3549,3553,3557,3567,3576,3580,3584,3589,3600,3604,3617,3621,3625,3639,3643,3651,3655,3659,3663,3667,3671,3681,3685,3689,3700,3704,3711,3715,3719,3727,3731,3737,3741,3745,3753],{"__ignoreMap":131},[135,3461,3462,3464],{"class":137,"line":138},[135,3463,142],{"class":141},[135,3465,146],{"class":145},[135,3467,3468],{"class":137,"line":149},[135,3469,153],{"class":152},[135,3471,3472],{"class":137,"line":156},[135,3473,251],{"emptyLinePlaceholder":250},[135,3475,3476],{"class":137,"line":162},[135,3477,159],{"class":141},[135,3479,3480],{"class":137,"line":169},[135,3481,251],{"emptyLinePlaceholder":250},[135,3483,3484],{"class":137,"line":178},[135,3485,3486],{"class":165},"    \u002F\u002F静态成员函数特点：\n",[135,3488,3489],{"class":137,"line":184},[135,3490,3491],{"class":165},"    \u002F\u002F1 程序共享一个函数\n",[135,3493,3494],{"class":137,"line":203},[135,3495,3496],{"class":165},"    \u002F\u002F2 静态成员函数只能访问静态成员变量\n",[135,3498,3499],{"class":137,"line":209},[135,3500,313],{"class":152},[135,3502,3503,3505,3508,3511],{"class":137,"line":215},[135,3504,3146],{"class":141},[135,3506,3507],{"class":141}," void",[135,3509,3510],{"class":145}," func",[135,3512,175],{"class":152},[135,3514,3515],{"class":137,"line":223},[135,3516,181],{"class":152},[135,3518,3519,3521,3523,3526,3528],{"class":137,"line":228},[135,3520,187],{"class":152},[135,3522,190],{"class":141},[135,3524,3525],{"class":193}," \"func调用\"",[135,3527,197],{"class":141},[135,3529,200],{"class":152},[135,3531,3532,3535,3537,3539],{"class":137,"line":242},[135,3533,3534],{"class":152},"        m_A ",[135,3536,487],{"class":141},[135,3538,3276],{"class":341},[135,3540,345],{"class":152},[135,3542,3543,3546],{"class":137,"line":247},[135,3544,3545],{"class":165},"        \u002F\u002Fm_B = 100;",[135,3547,3548],{"class":165}," \u002F\u002F错误，不可以访问非静态成员变量\n",[135,3550,3551],{"class":137,"line":254},[135,3552,206],{"class":152},[135,3554,3555],{"class":137,"line":260},[135,3556,251],{"emptyLinePlaceholder":250},[135,3558,3559,3561,3563,3565],{"class":137,"line":265},[135,3560,3146],{"class":141},[135,3562,1950],{"class":141},[135,3564,3151],{"class":152},[135,3566,3154],{"class":165},[135,3568,3569,3571,3573],{"class":137,"line":276},[135,3570,593],{"class":141},[135,3572,3195],{"class":152},[135,3574,3575],{"class":165}," \u002F\u002F \n",[135,3577,3578],{"class":137,"line":281},[135,3579,2497],{"class":141},[135,3581,3582],{"class":137,"line":287},[135,3583,251],{"emptyLinePlaceholder":250},[135,3585,3586],{"class":137,"line":293},[135,3587,3588],{"class":165},"    \u002F\u002F静态成员函数也是有访问权限的\n",[135,3590,3591,3593,3595,3598],{"class":137,"line":298},[135,3592,3146],{"class":141},[135,3594,3507],{"class":141},[135,3596,3597],{"class":145}," func2",[135,3599,175],{"class":152},[135,3601,3602],{"class":137,"line":310},[135,3603,181],{"class":152},[135,3605,3606,3608,3610,3613,3615],{"class":137,"line":316},[135,3607,187],{"class":152},[135,3609,190],{"class":141},[135,3611,3612],{"class":193}," \"func2调用\"",[135,3614,197],{"class":141},[135,3616,200],{"class":152},[135,3618,3619],{"class":137,"line":325},[135,3620,206],{"class":152},[135,3622,3623],{"class":137,"line":330},[135,3624,257],{"class":152},[135,3626,3627,3629,3631,3633,3635,3637],{"class":137,"line":335},[135,3628,301],{"class":141},[135,3630,423],{"class":145},[135,3632,3211],{"class":152},[135,3634,487],{"class":141},[135,3636,769],{"class":341},[135,3638,345],{"class":152},[135,3640,3641],{"class":137,"line":348},[135,3642,251],{"emptyLinePlaceholder":250},[135,3644,3645,3647,3649],{"class":137,"line":607},[135,3646,268],{"class":141},[135,3648,271],{"class":145},[135,3650,175],{"class":152},[135,3652,3653],{"class":137,"line":613},[135,3654,153],{"class":152},[135,3656,3657],{"class":137,"line":619},[135,3658,3253],{"class":165},[135,3660,3661],{"class":137,"line":628},[135,3662,251],{"emptyLinePlaceholder":250},[135,3664,3665],{"class":137,"line":637},[135,3666,3262],{"class":165},[135,3668,3669],{"class":137,"line":642},[135,3670,1240],{"class":152},[135,3672,3673,3676,3679],{"class":137,"line":647},[135,3674,3675],{"class":152},"    p1.",[135,3677,3678],{"class":145},"func",[135,3680,322],{"class":152},[135,3682,3683],{"class":137,"line":653},[135,3684,251],{"emptyLinePlaceholder":250},[135,3686,3687],{"class":137,"line":663},[135,3688,3364],{"class":165},[135,3690,3691,3693,3696,3698],{"class":137,"line":668},[135,3692,172],{"class":145},[135,3694,3695],{"class":152},"::",[135,3697,3678],{"class":145},[135,3699,322],{"class":152},[135,3701,3702],{"class":137,"line":674},[135,3703,251],{"emptyLinePlaceholder":250},[135,3705,3706,3709],{"class":137,"line":691},[135,3707,3708],{"class":165},"    \u002F\u002FPerson::func2();",[135,3710,3395],{"class":165},[135,3712,3713],{"class":137,"line":697},[135,3714,290],{"class":152},[135,3716,3717],{"class":137,"line":703},[135,3718,251],{"emptyLinePlaceholder":250},[135,3720,3721,3723,3725],{"class":137,"line":708},[135,3722,301],{"class":141},[135,3724,304],{"class":145},[135,3726,307],{"class":152},[135,3728,3729],{"class":137,"line":714},[135,3730,251],{"emptyLinePlaceholder":250},[135,3732,3733,3735],{"class":137,"line":731},[135,3734,319],{"class":145},[135,3736,322],{"class":152},[135,3738,3739],{"class":137,"line":744},[135,3740,251],{"emptyLinePlaceholder":250},[135,3742,3743],{"class":137,"line":750},[135,3744,251],{"emptyLinePlaceholder":250},[135,3746,3747,3749,3751],{"class":137,"line":755},[135,3748,338],{"class":141},[135,3750,342],{"class":341},[135,3752,345],{"class":152},[135,3754,3755],{"class":137,"line":761},[135,3756,290],{"class":152},[30,3758,3759],{},[34,3760,355],{},[126,3762,3765],{"className":3763,"code":3764,"language":361,"meta":131},[359],"func调用\nfunc调用\n",[84,3766,3764],{"__ignoreMap":131},[3768,3769,3770],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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":131,"searchDepth":149,"depth":149,"links":3772},[3773],{"id":14,"depth":156,"text":14},"1400-0200","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-0200-dui-xiang-chu-shi-hua-he-qing-li",{"title":5,"description":131},"wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0200-对象初始化和清理","xipsFb6fKryuMTBfKEVj-pgfRQ5JWRPZjnwtmgedgAA",[3787,3794,3800,3806,3812,3818,3824,3830,3836,3842,3848,3854,3860,3866,3872,3878,3880,3886,3892,3898,3904,3910,3916,3922,3928,3934,3940,3946,3952,3958,3964,3970,3976,3982,3988,3994,4000,4006,4012,4018,4024,4030,4036,4042,4048,4054,4060,4066,4072,4078,4084,4090,4096,4102,4108,4114,4120,4126,4132,4138,4144,4150,4156,4162,4168,4174,4180,4186,4192,4198,4204,4210,4216,4222,4228,4234,4240,4246,4252,4258,4264,4270,4276,4282,4288,4294,4300,4306,4312,4318,4324,4330],{"path":3788,"stem":3789,"title":3790,"authors":3791,"date":3775,"chapterOrder":3792,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\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++开发环境搭建与测试",[7],"0100",0,{"path":3795,"stem":3796,"title":3797,"authors":3798,"date":3775,"chapterOrder":3799,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0200-c-ji-chu-chu-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F0200-C++基础初识","C++基础初识",[7],"0200",{"path":3801,"stem":3802,"title":3803,"authors":3804,"date":3775,"chapterOrder":3805,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0300-shu-ju-lei-xing-yu-shu-ju-cun-fang","wiki\u002F2023-10-05-Cplusplus教学\u002F0300-数据类型与数据存放","数据类型与数据存放",[7],"0300",{"path":3807,"stem":3808,"title":3809,"authors":3810,"date":3775,"chapterOrder":3811,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0400-shu-ru-shu-chu","wiki\u002F2023-10-05-Cplusplus教学\u002F0400-输入输出","输入输出",[7],"0400",{"path":3813,"stem":3814,"title":3815,"authors":3816,"date":3775,"chapterOrder":3817,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0500-yun-suan-fu","wiki\u002F2023-10-05-Cplusplus教学\u002F0500-运算符","运算符",[7],"0500",{"path":3819,"stem":3820,"title":3821,"authors":3822,"date":3775,"chapterOrder":3823,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0600-cheng-xu-liu-cheng-jie-gou","wiki\u002F2023-10-05-Cplusplus教学\u002F0600-程序流程结构","程序流程结构",[7],"0600",{"path":3825,"stem":3826,"title":3827,"authors":3828,"date":3775,"chapterOrder":3829,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0700-shu-zu","wiki\u002F2023-10-05-Cplusplus教学\u002F0700-数组","数组",[7],"0700",{"path":3831,"stem":3832,"title":3833,"authors":3834,"date":3775,"chapterOrder":3835,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0800-han-shu-yu-tou-wen-jian","wiki\u002F2023-10-05-Cplusplus教学\u002F0800-函数与头文件","函数与头文件",[7],"0800",{"path":3837,"stem":3838,"title":3839,"authors":3840,"date":3775,"chapterOrder":3841,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F0900-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F0900-指针","指针",[7],"0900",{"path":3843,"stem":3844,"title":3845,"authors":3846,"date":3775,"chapterOrder":3847,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1000-jie-gou-ti-yu-gong-yong-ti","wiki\u002F2023-10-05-Cplusplus教学\u002F1000-结构体与共用体","结构体与共用体",[7],"1000",{"path":3849,"stem":3850,"title":3851,"authors":3852,"date":3775,"chapterOrder":3853,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1100-nei-cun-fen-qu-yu-sheng-ming-zhou-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1100-内存分区与生命周期","内存分区与生命周期",[7],"1100",{"path":3855,"stem":3856,"title":3857,"authors":3858,"date":3775,"chapterOrder":3859,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1200-yin-yong","wiki\u002F2023-10-05-Cplusplus教学\u002F1200-引用","引用",[7],"1200",{"path":3861,"stem":3862,"title":3863,"authors":3864,"date":3775,"chapterOrder":3865,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1300-han-shu-ti-gao","wiki\u002F2023-10-05-Cplusplus教学\u002F1300-函数提高","函数提高",[7],"1300",{"path":3867,"stem":3868,"title":3869,"authors":3870,"date":3775,"chapterOrder":3871,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1350-ming-ming-kong-jian","wiki\u002F2023-10-05-Cplusplus教学\u002F1350-命名空间","命名空间",[7],"1350",{"path":3873,"stem":3874,"title":3875,"authors":3876,"date":3775,"chapterOrder":3877,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0100-feng-zhuang","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0100-封装","封装",[7],"1400-0100",{"path":3782,"stem":3784,"title":5,"authors":3879,"date":3775,"chapterOrder":3774,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},[7],{"path":3881,"stem":3882,"title":3883,"authors":3884,"date":3775,"chapterOrder":3885,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0300-dui-xiang-mo-xing-yu-this-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0300-对象模型与this指针","对象模型与this指针",[7],"1400-0300",{"path":3887,"stem":3888,"title":3889,"authors":3890,"date":3775,"chapterOrder":3891,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0400-you-yuan-yu-yun-suan-fu-zhong-zai","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0400-友元与运算符重载","友元与运算符重载",[7],"1400-0400",{"path":3893,"stem":3894,"title":3895,"authors":3896,"date":3775,"chapterOrder":3897,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0500-ji-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0500-继承","继承",[7],"1400-0500",{"path":3899,"stem":3900,"title":3901,"authors":3902,"date":3775,"chapterOrder":3903,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-0600-duo-tai","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-0600-多态","多态",[7],"1400-0600",{"path":3905,"stem":3906,"title":3907,"authors":3908,"date":3775,"chapterOrder":3909,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1400-lei-he-dui-xiang","wiki\u002F2023-10-05-Cplusplus教学\u002F1400-类和对象","类和对象",[7],"1400",{"path":3911,"stem":3912,"title":3913,"authors":3914,"date":3775,"chapterOrder":3915,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1450-han-shu-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F1450-函数指针","函数指针",[7],"1450",{"path":3917,"stem":3918,"title":3919,"authors":3920,"date":3775,"chapterOrder":3921,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1500-wen-jian-cao-zuo","wiki\u002F2023-10-05-Cplusplus教学\u002F1500-文件操作","文件操作",[7],"1500",{"path":3923,"stem":3924,"title":3925,"authors":3926,"date":3775,"chapterOrder":3927,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1600-yi-chang-chu-li-yu-cuo-wu-ma","wiki\u002F2023-10-05-Cplusplus教学\u002F1600-异常处理与错误码","异常处理",[7],"1600",{"path":3929,"stem":3930,"title":3931,"authors":3932,"date":3775,"chapterOrder":3933,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1700-mu-ban","wiki\u002F2023-10-05-Cplusplus教学\u002F1700-模板","模板",[7],"1700",{"path":3935,"stem":3936,"title":3937,"authors":3938,"date":3775,"chapterOrder":3939,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0100-stl-chu-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0100-STL初识","STL初识",[7],"1800-0100",{"path":3941,"stem":3942,"title":3943,"authors":3944,"date":3775,"chapterOrder":3945,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0200-std-array","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0200-std-array","std::array",[7],"1800-0200",{"path":3947,"stem":3948,"title":3949,"authors":3950,"date":3775,"chapterOrder":3951,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0300-string-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0300-string容器","string容器",[7],"1800-0300",{"path":3953,"stem":3954,"title":3955,"authors":3956,"date":3775,"chapterOrder":3957,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0400-vector-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0400-vector容器","vector 容器",[7],"1800-0400",{"path":3959,"stem":3960,"title":3961,"authors":3962,"date":3775,"chapterOrder":3963,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0500-deque-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0500-deque容器","deque 容器",[7],"1800-0500",{"path":3965,"stem":3966,"title":3967,"authors":3968,"date":3775,"chapterOrder":3969,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0600-stack-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0600-stack容器","stack 容器",[7],"1800-0600",{"path":3971,"stem":3972,"title":3973,"authors":3974,"date":3775,"chapterOrder":3975,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0700-queue-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0700-queue容器","queue 容器",[7],"1800-0700",{"path":3977,"stem":3978,"title":3979,"authors":3980,"date":3775,"chapterOrder":3981,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0800-list-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0800-list容器","list 容器",[7],"1800-0800",{"path":3983,"stem":3984,"title":3985,"authors":3986,"date":3775,"chapterOrder":3987,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-0900-set-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-0900-set容器","set \u002F multiset 容器",[7],"1800-0900",{"path":3989,"stem":3990,"title":3991,"authors":3992,"date":3775,"chapterOrder":3993,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1000-map-rong-qi","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-1000-map容器","map \u002F multimap 容器",[7],"1800-1000",{"path":3995,"stem":3996,"title":3997,"authors":3998,"date":3775,"chapterOrder":3999,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1100-han-shu-dui-xiang-yu-wei-ci","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-1100-函数对象与谓词","函数对象与谓词",[7],"1800-1100",{"path":4001,"stem":4002,"title":4003,"authors":4004,"date":3775,"chapterOrder":4005,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-1200-chang-yong-suan-fa","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-1200-常用算法","常用算法",[7],"1800-1200",{"path":4007,"stem":4008,"title":4009,"authors":4010,"date":3775,"chapterOrder":4011,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1800-stl-ti-gao-bian-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F1800-STL提高编程","STL提高编程",[7],"1800",{"path":4013,"stem":4014,"title":4015,"authors":4016,"date":3775,"chapterOrder":4017,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F1900-c-lei-xing-zhuan-huan","wiki\u002F2023-10-05-Cplusplus教学\u002F1900-C++类型转换","C++类型转换",[7],"1900",{"path":4019,"stem":4020,"title":4021,"authors":4022,"date":3775,"chapterOrder":4023,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0100-auto","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0100-auto","auto",[7],"2000-0100",{"path":4025,"stem":4026,"title":4027,"authors":4028,"date":3775,"chapterOrder":4029,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0200-nullptr","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0200-nullptr","nullptr",[7],"2000-0200",{"path":4031,"stem":4032,"title":4033,"authors":4034,"date":3775,"chapterOrder":4035,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0300-using","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0300-using","using",[7],"2000-0300",{"path":4037,"stem":4038,"title":4039,"authors":4040,"date":3775,"chapterOrder":4041,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0400-enum-class","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0400-enum-class","enum class",[7],"2000-0400",{"path":4043,"stem":4044,"title":4045,"authors":4046,"date":3775,"chapterOrder":4047,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0500-fan-wei-for-xun-huan","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0500-范围for循环","范围 for 循环",[7],"2000-0500",{"path":4049,"stem":4050,"title":4051,"authors":4052,"date":3775,"chapterOrder":4053,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0600-jie-gou-hua-bang-ding","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0600-结构化绑定","结构化绑定",[7],"2000-0600",{"path":4055,"stem":4056,"title":4057,"authors":4058,"date":3775,"chapterOrder":4059,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0700-constexpr","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0700-constexpr","constexpr",[7],"2000-0700",{"path":4061,"stem":4062,"title":4063,"authors":4064,"date":3775,"chapterOrder":4065,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0800-raii","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0800-RAII","RAII",[7],"2000-0800",{"path":4067,"stem":4068,"title":4069,"authors":4070,"date":3775,"chapterOrder":4071,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-0900-zhi-neng-zhi-zhen","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-0900-智能指针","智能指针",[7],"2000-0900",{"path":4073,"stem":4074,"title":4075,"authors":4076,"date":3775,"chapterOrder":4077,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\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-右值引用和移动语义","右值引用和移动语义",[7],"2000-1000",{"path":4079,"stem":4080,"title":4081,"authors":4082,"date":3775,"chapterOrder":4083,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1100-lambda-biao-da-shi","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1100-Lambda表达式","Lambda 表达式",[7],"2000-1100",{"path":4085,"stem":4086,"title":4087,"authors":4088,"date":3775,"chapterOrder":4089,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1200-std-function","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1200-std-function","std::function",[7],"2000-1200",{"path":4091,"stem":4092,"title":4093,"authors":4094,"date":3775,"chapterOrder":4095,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1300-std-bind","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1300-std-bind","std::bind",[7],"2000-1300",{"path":4097,"stem":4098,"title":4099,"authors":4100,"date":3775,"chapterOrder":4101,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1400-std-optional","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1400-std-optional","std::optional",[7],"2000-1400",{"path":4103,"stem":4104,"title":4105,"authors":4106,"date":3775,"chapterOrder":4107,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1500-std-variant","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1500-std-variant","std::variant",[7],"2000-1500",{"path":4109,"stem":4110,"title":4111,"authors":4112,"date":3775,"chapterOrder":4113,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1600-std-span","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1600-std-span","std::span",[7],"2000-1600",{"path":4115,"stem":4116,"title":4117,"authors":4118,"date":3775,"chapterOrder":4119,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\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",[7],"2000-1700",{"path":4121,"stem":4122,"title":4123,"authors":4124,"date":3775,"chapterOrder":4125,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1800-std-chrono","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1800-std-chrono","std::chrono",[7],"2000-1800",{"path":4127,"stem":4128,"title":4129,"authors":4130,"date":3775,"chapterOrder":4131,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0100-bing-fa-shi-shen-me","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0100-并发是什么","并发是什么",[7],"2000-1900-0100",{"path":4133,"stem":4134,"title":4135,"authors":4136,"date":3775,"chapterOrder":4137,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0200-bing-xing-shi-shen-me","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0200-并行是什么","并行是什么",[7],"2000-1900-0200",{"path":4139,"stem":4140,"title":4141,"authors":4142,"date":3775,"chapterOrder":4143,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-0300-xie-cheng-shi-shen-me","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-0300-协程是什么","协程是什么",[7],"2000-1900-0300",{"path":4145,"stem":4146,"title":4147,"authors":4148,"date":3775,"chapterOrder":4149,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1000-bing-fa-bian-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1000-并发编程","并发编程",[7],"2000-1900-1000",{"path":4151,"stem":4152,"title":4153,"authors":4154,"date":3775,"chapterOrder":4155,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1100-std-thread","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1100-std-thread","std::thread",[7],"2000-1900-1100",{"path":4157,"stem":4158,"title":4159,"authors":4160,"date":3775,"chapterOrder":4161,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1200-mutex-lock-guard","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1200-mutex-lock-guard","mutex 与 RAII 锁",[7],"2000-1900-1200",{"path":4163,"stem":4164,"title":4165,"authors":4166,"date":3775,"chapterOrder":4167,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1300-std-atomic","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1300-std-atomic","std::atomic",[7],"2000-1900-1300",{"path":4169,"stem":4170,"title":4171,"authors":4172,"date":3775,"chapterOrder":4173,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1400-condition-variable","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1400-condition-variable","condition_variable",[7],"2000-1900-1400",{"path":4175,"stem":4176,"title":4177,"authors":4178,"date":3775,"chapterOrder":4179,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1500-future-async-promise","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1500-future-async-promise","future、async、promise 与 packaged_task",[7],"2000-1900-1500",{"path":4181,"stem":4182,"title":4183,"authors":4184,"date":3775,"chapterOrder":4185,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1600-jthread-stop-token","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1600-jthread-stop-token","jthread 与 stop_token",[7],"2000-1900-1600",{"path":4187,"stem":4188,"title":4189,"authors":4190,"date":3775,"chapterOrder":4191,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-1700-semaphore-latch-barrier","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-1700-semaphore-latch-barrier","semaphore、latch 与 barrier",[7],"2000-1900-1700",{"path":4193,"stem":4194,"title":4195,"authors":4196,"date":3775,"chapterOrder":4197,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-1900-bing-fa-bing-xing-yu-xie-cheng","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-1900-并发并行与协程","并发、并行与协程",[7],"2000-1900",{"path":4199,"stem":4200,"title":4201,"authors":4202,"date":3775,"chapterOrder":4203,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2000-std-filesystem","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-2000-std-filesystem","std::filesystem",[7],"2000-2000",{"path":4205,"stem":4206,"title":4207,"authors":4208,"date":3775,"chapterOrder":4209,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-2100-modules-jian-jie","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-2100-modules简介","modules 简介",[7],"2000-2100",{"path":4211,"stem":4212,"title":4213,"authors":4214,"date":3775,"chapterOrder":4215,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2000-xian-dai-c","wiki\u002F2023-10-05-Cplusplus教学\u002F2000-现代C++","现代C++",[7],"2000",{"path":4217,"stem":4218,"title":4219,"authors":4220,"date":3775,"chapterOrder":4221,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\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",[7],"2100-0100-0100",{"path":4223,"stem":4224,"title":4225,"authors":4226,"date":3775,"chapterOrder":4227,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\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 基础",[7],"2100-0100-0200",{"path":4229,"stem":4230,"title":4231,"authors":4232,"date":3775,"chapterOrder":4233,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0300-chuan-kou-tong-xin","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0300-串口通信","串口通信教学",[7],"2100-0100-0300",{"path":4235,"stem":4236,"title":4237,"authors":4238,"date":3775,"chapterOrder":4239,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0350-chuan-kou-tong-xin-chuan-kou-bao-xie-yi-shi-li","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0350-串口通信串口包协议实例","串口通信串口包协议实例",[7],"2100-0100-0350",{"path":4241,"stem":4242,"title":4243,"authors":4244,"date":3775,"chapterOrder":4245,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0400-tcp-tong-xin","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0400-TCP通信","TCP 通信",[7],"2100-0100-0400",{"path":4247,"stem":4248,"title":4249,"authors":4250,"date":3775,"chapterOrder":4251,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0100-0500-udp-tong-xin","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0100-0500-UDP通信","UDP 通信",[7],"2100-0100-0500",{"path":4253,"stem":4254,"title":4255,"authors":4256,"date":3775,"chapterOrder":4257,"chapterDepth":149,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\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 集成",[7],"2100-0100-0600",{"path":4259,"stem":4260,"title":4261,"authors":4262,"date":3775,"chapterOrder":4263,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\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库",[7],"2100-0100",{"path":4265,"stem":4266,"title":4267,"authors":4268,"date":3775,"chapterOrder":4269,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0200-eigen-xian-xing-dai-shu-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0200-Eigen线性代数库","Eigen线性代数库",[7],"2100-0200",{"path":4271,"stem":4272,"title":4273,"authors":4274,"date":3775,"chapterOrder":4275,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\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计算机视觉库",[7],"2100-0300",{"path":4277,"stem":4278,"title":4279,"authors":4280,"date":3775,"chapterOrder":4281,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-0400-pcl-dian-yun-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-0400-PCL点云库","PCL点云库",[7],"2100-0400",{"path":4283,"stem":4284,"title":4285,"authors":4286,"date":3775,"chapterOrder":4287,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\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 李群李代数库",[7],"2100-0500",{"path":4289,"stem":4290,"title":4291,"authors":4292,"date":3775,"chapterOrder":4293,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2100-chang-yong-ku","wiki\u002F2023-10-05-Cplusplus教学\u002F2100-常用库","常用库学习",[7],"2100",{"path":4295,"stem":4296,"title":4297,"authors":4298,"date":3775,"chapterOrder":4299,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0100-cmakepresets-yu-gou-jian-an-zhuang","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0100-CMakePresets与构建安装","CMakePresets与构建安装",[7],"2200-0100",{"path":4301,"stem":4302,"title":4303,"authors":4304,"date":3775,"chapterOrder":4305,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\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与公共编译选项",[7],"2200-0200",{"path":4307,"stem":4308,"title":4309,"authors":4310,"date":3775,"chapterOrder":4311,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\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详解",[7],"2200-0300",{"path":4313,"stem":4314,"title":4315,"authors":4316,"date":3775,"chapterOrder":4317,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-0400-di-san-fang-ku-yi-lai-xie-fa","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-0400-第三方库依赖写法","第三方库依赖写法",[7],"2200-0400",{"path":4319,"stem":4320,"title":4321,"authors":4322,"date":3775,"chapterOrder":4323,"chapterDepth":138,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\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-模板扩展与常见问题","模板扩展与常见问题",[7],"2200-0500",{"path":4325,"stem":4326,"title":4327,"authors":4328,"date":3775,"chapterOrder":4329,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":3780},"\u002Fwiki\u002F2023-10-05-cplusplus-jiao-xue\u002F2200-cmake-gong-cheng-mu-ban","wiki\u002F2023-10-05-Cplusplus教学\u002F2200-CMake工程模板","CMake工程模板",[7],"2200",{"path":3777,"stem":4331,"title":4332,"authors":4333,"date":3775,"chapterOrder":4334,"chapterDepth":3793,"docKey":3776,"docRoot":3777,"docTitle":3778,"isWikiDoc":250,"isWikiIndex":250},"wiki\u002F2023-10-05-Cplusplus教学\u002Findex","C\u002FC++教程",[7],null,[4336,4338,4341,4344],{"name":7,"image":4337},"\u002Fimages\u002Fmember_photo\u002F董佳辉.jpg",{"name":4339,"image":4340},"宫金良","\u002Fimages\u002Fmember_photo\u002F宫金良.jpg",{"name":4342,"image":4343},"巩丽","\u002Fimages\u002Fmember_photo\u002F巩丽.png",{"name":4345,"image":4346},"张彦斐","\u002Fimages\u002Fmember_photo\u002F张彦斐.jpg",1792431896649]