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