[{"data":1,"prerenderedAt":3094},["ShallowReactive",2],{"wiki-page-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi":3,"wiki-doc-items-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi":2669,"language-switcher-data-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi":3078,"wiki-i18n-paths-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi":3093},{"id":4,"title":5,"body":6,"canonicalPath":2651,"chapter":2652,"chapterSort":2653,"date":2654,"description":99,"docI18nKey":2655,"docKey":2656,"docRoot":2657,"docTitle":2658,"extension":2659,"i18nKey":2660,"isBlogPost":2661,"isWikiDoc":179,"isWikiIndex":2661,"layout":2662,"legacyPath":2663,"locale":2664,"localeSlug":2665,"meta":2666,"navigation":179,"path":2651,"seo":2667,"sourcePath":2663,"sourceStem":2660,"stem":2660,"wikiDepth":106,"__hash__":2668},"content/wiki/2023-10-05-Cplusplus教学/ch16-3-string容器.md","string容器",{"type":7,"value":8,"toc":2648},"minimark",[9,12,16,23,30,35,43,48,51,54,57,60,63,88,93,388,394,397,400,403,408,411,455,459,817,821,824,831,834,838,843,848,892,896,1185,1189,1192,1195,1199,1207,1211,1273,1277,1601,1605,1607,1618,1621,1625,1630,1635,1640,1643,1646,1649,1653,1667,1671,1891,1895,1898,1901,1904,1921,1925,2203,2207,2213,2216,2220,2225,2229,2255,2259,2403,2407,2410,2413,2417,2422,2426,2434,2438,2637,2641,2644],[10,11,5],"h3",{"id":5},[13,14,15],"h4",{"id":15},"string基本概念",[17,18,19],"p",{},[20,21,22],"strong",{},"本质：",[24,25,26],"ul",{},[27,28,29],"li",{},"string是C++风格的字符串，而string本质上是一个类",[17,31,32],{},[20,33,34],{},"string和char * 区别：",[24,36,37,40],{},[27,38,39],{},"char * 是一个指针",[27,41,42],{},"string是一个类，类内部封装了char*，管理这个字符串，是一个char*型的容器。",[17,44,45],{},[20,46,47],{},"特点：",[17,49,50],{},"string 类内部封装了很多成员方法",[17,52,53],{},"例如：查找find，拷贝copy，删除delete 替换replace，插入insert",[17,55,56],{},"string管理char*所分配的内存，不用担心复制越界和取值越界等，由类内部进行负责",[13,58,59],{"id":59},"string构造函数",[17,61,62],{},"构造函数原型：",[24,64,65,76,82],{},[27,66,67,71,72,75],{},[68,69,70],"code",{},"string();","          \t\t\t\t//创建一个空的字符串 例如: string str;\n",[68,73,74],{},"string(const char* s);","\t        //使用字符串s初始化",[27,77,78,81],{},[68,79,80],{},"string(const string& str);","    //使用一个string对象初始化另一个string对象",[27,83,84,87],{},[68,85,86],{},"string(int n, char c);","           //使用n个字符c初始化",[17,89,90],{},[20,91,92],{},"示例：",[94,95,100],"pre",{"className":96,"code":97,"language":98,"meta":99,"style":99},"language-cpp shiki shiki-themes github-light github-dark","#include \u003Cstring>\n//string构造\nvoid test01()\n{\n    string s1; //创建空字符串，调用无参构造函数\n    cout \u003C\u003C \"str1 = \" \u003C\u003C s1 \u003C\u003C endl;\n\n    const char* str = \"hello world\";\n    string s2(str); //把c_string转换成了string\n\n    cout \u003C\u003C \"str2 = \" \u003C\u003C s2 \u003C\u003C endl;\n\n    string s3(s2); //调用拷贝构造函数\n    cout \u003C\u003C \"str3 = \" \u003C\u003C s3 \u003C\u003C endl;\n\n    string s4(10, 'a');\n    cout \u003C\u003C \"str3 = \" \u003C\u003C s3 \u003C\u003C endl;\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n","cpp","",[68,101,102,115,122,136,142,151,174,181,202,217,222,241,246,260,279,284,308,325,331,336,348,353,362,367,372,383],{"__ignoreMap":99},[103,104,107,111],"span",{"class":105,"line":106},"line",1,[103,108,110],{"class":109},"szBVR","#include",[103,112,114],{"class":113},"sZZnC"," \u003Cstring>\n",[103,116,118],{"class":105,"line":117},2,[103,119,121],{"class":120},"sJ8bj","//string构造\n",[103,123,125,128,132],{"class":105,"line":124},3,[103,126,127],{"class":109},"void",[103,129,131],{"class":130},"sScJk"," test01",[103,133,135],{"class":134},"sVt8B","()\n",[103,137,139],{"class":105,"line":138},4,[103,140,141],{"class":134},"{\n",[103,143,145,148],{"class":105,"line":144},5,[103,146,147],{"class":134},"    string s1;",[103,149,150],{"class":120}," //创建空字符串，调用无参构造函数\n",[103,152,154,157,160,163,166,169,171],{"class":105,"line":153},6,[103,155,156],{"class":134},"    cout ",[103,158,159],{"class":109},"\u003C\u003C",[103,161,162],{"class":113}," \"str1 = \"",[103,164,165],{"class":109}," \u003C\u003C",[103,167,168],{"class":134}," s1 ",[103,170,159],{"class":109},[103,172,173],{"class":134}," endl;\n",[103,175,177],{"class":105,"line":176},7,[103,178,180],{"emptyLinePlaceholder":179},true,"\n",[103,182,184,187,190,193,196,199],{"class":105,"line":183},8,[103,185,186],{"class":109},"    const",[103,188,189],{"class":109}," char*",[103,191,192],{"class":134}," str ",[103,194,195],{"class":109},"=",[103,197,198],{"class":113}," \"hello world\"",[103,200,201],{"class":134},";\n",[103,203,205,208,211,214],{"class":105,"line":204},9,[103,206,207],{"class":134},"    string ",[103,209,210],{"class":130},"s2",[103,212,213],{"class":134},"(str);",[103,215,216],{"class":120}," //把c_string转换成了string\n",[103,218,220],{"class":105,"line":219},10,[103,221,180],{"emptyLinePlaceholder":179},[103,223,225,227,229,232,234,237,239],{"class":105,"line":224},11,[103,226,156],{"class":134},[103,228,159],{"class":109},[103,230,231],{"class":113}," \"str2 = \"",[103,233,165],{"class":109},[103,235,236],{"class":134}," s2 ",[103,238,159],{"class":109},[103,240,173],{"class":134},[103,242,244],{"class":105,"line":243},12,[103,245,180],{"emptyLinePlaceholder":179},[103,247,249,251,254,257],{"class":105,"line":248},13,[103,250,207],{"class":134},[103,252,253],{"class":130},"s3",[103,255,256],{"class":134},"(s2);",[103,258,259],{"class":120}," //调用拷贝构造函数\n",[103,261,263,265,267,270,272,275,277],{"class":105,"line":262},14,[103,264,156],{"class":134},[103,266,159],{"class":109},[103,268,269],{"class":113}," \"str3 = \"",[103,271,165],{"class":109},[103,273,274],{"class":134}," s3 ",[103,276,159],{"class":109},[103,278,173],{"class":134},[103,280,282],{"class":105,"line":281},15,[103,283,180],{"emptyLinePlaceholder":179},[103,285,287,289,292,295,299,302,305],{"class":105,"line":286},16,[103,288,207],{"class":134},[103,290,291],{"class":130},"s4",[103,293,294],{"class":134},"(",[103,296,298],{"class":297},"sj4cs","10",[103,300,301],{"class":134},", ",[103,303,304],{"class":113},"'a'",[103,306,307],{"class":134},");\n",[103,309,311,313,315,317,319,321,323],{"class":105,"line":310},17,[103,312,156],{"class":134},[103,314,159],{"class":109},[103,316,269],{"class":113},[103,318,165],{"class":109},[103,320,274],{"class":134},[103,322,159],{"class":109},[103,324,173],{"class":134},[103,326,328],{"class":105,"line":327},18,[103,329,330],{"class":134},"}\n",[103,332,334],{"class":105,"line":333},19,[103,335,180],{"emptyLinePlaceholder":179},[103,337,339,342,345],{"class":105,"line":338},20,[103,340,341],{"class":109},"int",[103,343,344],{"class":130}," main",[103,346,347],{"class":134},"() {\n",[103,349,351],{"class":105,"line":350},21,[103,352,180],{"emptyLinePlaceholder":179},[103,354,356,359],{"class":105,"line":355},22,[103,357,358],{"class":130},"    test01",[103,360,361],{"class":134},"();\n",[103,363,365],{"class":105,"line":364},23,[103,366,180],{"emptyLinePlaceholder":179},[103,368,370],{"class":105,"line":369},24,[103,371,180],{"emptyLinePlaceholder":179},[103,373,375,378,381],{"class":105,"line":374},25,[103,376,377],{"class":109},"    return",[103,379,380],{"class":297}," 0",[103,382,201],{"class":134},[103,384,386],{"class":105,"line":385},26,[103,387,330],{"class":134},[17,389,390,393],{},[20,391,392],{},"运行/观察结果："," 运行后会按输出语句打印对应内容，变量值可结合初始化、赋值和函数调用顺序推导。",[17,395,396],{},"总结：string的多种构造方式没有可比性，灵活使用即可",[13,398,399],{"id":399},"string赋值操作",[17,401,402],{},"功能描述：",[24,404,405],{},[27,406,407],{},"给string字符串进行赋值",[17,409,410],{},"赋值的函数原型：",[24,412,413,419,425,431,437,443,449],{},[27,414,415,418],{},[68,416,417],{},"string& operator=(const char* s);","             //char*类型字符串 赋值给当前的字符串",[27,420,421,424],{},[68,422,423],{},"string& operator=(const string &s);","         //把字符串s赋给当前的字符串",[27,426,427,430],{},[68,428,429],{},"string& operator=(char c);","                          //字符赋值给当前的字符串",[27,432,433,436],{},[68,434,435],{},"string& assign(const char *s);","                  //把字符串s赋给当前的字符串",[27,438,439,442],{},[68,440,441],{},"string& assign(const char *s, int n);","     //把字符串s的前n个字符赋给当前的字符串",[27,444,445,448],{},[68,446,447],{},"string& assign(const string &s);","              //把字符串s赋给当前字符串",[27,450,451,454],{},[68,452,453],{},"string& assign(int n, char c);","                  //用n个字符c赋给当前字符串",[17,456,457],{},[20,458,92],{},[94,460,462],{"className":96,"code":461,"language":98,"meta":99,"style":99},"//赋值\nvoid test01()\n{\n    string str1;\n    str1 = \"hello world\";\n    cout \u003C\u003C \"str1 = \" \u003C\u003C str1 \u003C\u003C endl;\n\n    string str2;\n    str2 = str1;\n    cout \u003C\u003C \"str2 = \" \u003C\u003C str2 \u003C\u003C endl;\n\n    string str3;\n    str3 = 'a';\n    cout \u003C\u003C \"str3 = \" \u003C\u003C str3 \u003C\u003C endl;\n\n    string str4;\n    str4.assign(\"hello c++\");\n    cout \u003C\u003C \"str4 = \" \u003C\u003C str4 \u003C\u003C endl;\n\n    string str5;\n    str5.assign(\"hello c++\",5);\n    cout \u003C\u003C \"str5 = \" \u003C\u003C str5 \u003C\u003C endl;\n\n    string str6;\n    str6.assign(str5);\n    cout \u003C\u003C \"str6 = \" \u003C\u003C str6 \u003C\u003C endl;\n\n    string str7;\n    str7.assign(5, 'x');\n    cout \u003C\u003C \"str7 = \" \u003C\u003C str7 \u003C\u003C endl;\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[68,463,464,469,477,481,486,497,514,518,523,533,550,554,559,571,588,592,597,612,630,634,639,658,676,680,685,695,713,718,724,743,762,767,772,781,786,793,798,803,812],{"__ignoreMap":99},[103,465,466],{"class":105,"line":106},[103,467,468],{"class":120},"//赋值\n",[103,470,471,473,475],{"class":105,"line":117},[103,472,127],{"class":109},[103,474,131],{"class":130},[103,476,135],{"class":134},[103,478,479],{"class":105,"line":124},[103,480,141],{"class":134},[103,482,483],{"class":105,"line":138},[103,484,485],{"class":134},"    string str1;\n",[103,487,488,491,493,495],{"class":105,"line":144},[103,489,490],{"class":134},"    str1 ",[103,492,195],{"class":109},[103,494,198],{"class":113},[103,496,201],{"class":134},[103,498,499,501,503,505,507,510,512],{"class":105,"line":153},[103,500,156],{"class":134},[103,502,159],{"class":109},[103,504,162],{"class":113},[103,506,165],{"class":109},[103,508,509],{"class":134}," str1 ",[103,511,159],{"class":109},[103,513,173],{"class":134},[103,515,516],{"class":105,"line":176},[103,517,180],{"emptyLinePlaceholder":179},[103,519,520],{"class":105,"line":183},[103,521,522],{"class":134},"    string str2;\n",[103,524,525,528,530],{"class":105,"line":204},[103,526,527],{"class":134},"    str2 ",[103,529,195],{"class":109},[103,531,532],{"class":134}," str1;\n",[103,534,535,537,539,541,543,546,548],{"class":105,"line":219},[103,536,156],{"class":134},[103,538,159],{"class":109},[103,540,231],{"class":113},[103,542,165],{"class":109},[103,544,545],{"class":134}," str2 ",[103,547,159],{"class":109},[103,549,173],{"class":134},[103,551,552],{"class":105,"line":224},[103,553,180],{"emptyLinePlaceholder":179},[103,555,556],{"class":105,"line":243},[103,557,558],{"class":134},"    string str3;\n",[103,560,561,564,566,569],{"class":105,"line":248},[103,562,563],{"class":134},"    str3 ",[103,565,195],{"class":109},[103,567,568],{"class":113}," 'a'",[103,570,201],{"class":134},[103,572,573,575,577,579,581,584,586],{"class":105,"line":262},[103,574,156],{"class":134},[103,576,159],{"class":109},[103,578,269],{"class":113},[103,580,165],{"class":109},[103,582,583],{"class":134}," str3 ",[103,585,159],{"class":109},[103,587,173],{"class":134},[103,589,590],{"class":105,"line":281},[103,591,180],{"emptyLinePlaceholder":179},[103,593,594],{"class":105,"line":286},[103,595,596],{"class":134},"    string str4;\n",[103,598,599,602,605,607,610],{"class":105,"line":310},[103,600,601],{"class":134},"    str4.",[103,603,604],{"class":130},"assign",[103,606,294],{"class":134},[103,608,609],{"class":113},"\"hello c++\"",[103,611,307],{"class":134},[103,613,614,616,618,621,623,626,628],{"class":105,"line":327},[103,615,156],{"class":134},[103,617,159],{"class":109},[103,619,620],{"class":113}," \"str4 = \"",[103,622,165],{"class":109},[103,624,625],{"class":134}," str4 ",[103,627,159],{"class":109},[103,629,173],{"class":134},[103,631,632],{"class":105,"line":333},[103,633,180],{"emptyLinePlaceholder":179},[103,635,636],{"class":105,"line":338},[103,637,638],{"class":134},"    string str5;\n",[103,640,641,644,646,648,650,653,656],{"class":105,"line":350},[103,642,643],{"class":134},"    str5.",[103,645,604],{"class":130},[103,647,294],{"class":134},[103,649,609],{"class":113},[103,651,652],{"class":134},",",[103,654,655],{"class":297},"5",[103,657,307],{"class":134},[103,659,660,662,664,667,669,672,674],{"class":105,"line":355},[103,661,156],{"class":134},[103,663,159],{"class":109},[103,665,666],{"class":113}," \"str5 = \"",[103,668,165],{"class":109},[103,670,671],{"class":134}," str5 ",[103,673,159],{"class":109},[103,675,173],{"class":134},[103,677,678],{"class":105,"line":364},[103,679,180],{"emptyLinePlaceholder":179},[103,681,682],{"class":105,"line":369},[103,683,684],{"class":134},"    string str6;\n",[103,686,687,690,692],{"class":105,"line":374},[103,688,689],{"class":134},"    str6.",[103,691,604],{"class":130},[103,693,694],{"class":134},"(str5);\n",[103,696,697,699,701,704,706,709,711],{"class":105,"line":385},[103,698,156],{"class":134},[103,700,159],{"class":109},[103,702,703],{"class":113}," \"str6 = \"",[103,705,165],{"class":109},[103,707,708],{"class":134}," str6 ",[103,710,159],{"class":109},[103,712,173],{"class":134},[103,714,716],{"class":105,"line":715},27,[103,717,180],{"emptyLinePlaceholder":179},[103,719,721],{"class":105,"line":720},28,[103,722,723],{"class":134},"    string str7;\n",[103,725,727,730,732,734,736,738,741],{"class":105,"line":726},29,[103,728,729],{"class":134},"    str7.",[103,731,604],{"class":130},[103,733,294],{"class":134},[103,735,655],{"class":297},[103,737,301],{"class":134},[103,739,740],{"class":113},"'x'",[103,742,307],{"class":134},[103,744,746,748,750,753,755,758,760],{"class":105,"line":745},30,[103,747,156],{"class":134},[103,749,159],{"class":109},[103,751,752],{"class":113}," \"str7 = \"",[103,754,165],{"class":109},[103,756,757],{"class":134}," str7 ",[103,759,159],{"class":109},[103,761,173],{"class":134},[103,763,765],{"class":105,"line":764},31,[103,766,330],{"class":134},[103,768,770],{"class":105,"line":769},32,[103,771,180],{"emptyLinePlaceholder":179},[103,773,775,777,779],{"class":105,"line":774},33,[103,776,341],{"class":109},[103,778,344],{"class":130},[103,780,347],{"class":134},[103,782,784],{"class":105,"line":783},34,[103,785,180],{"emptyLinePlaceholder":179},[103,787,789,791],{"class":105,"line":788},35,[103,790,358],{"class":130},[103,792,361],{"class":134},[103,794,796],{"class":105,"line":795},36,[103,797,180],{"emptyLinePlaceholder":179},[103,799,801],{"class":105,"line":800},37,[103,802,180],{"emptyLinePlaceholder":179},[103,804,806,808,810],{"class":105,"line":805},38,[103,807,377],{"class":109},[103,809,380],{"class":297},[103,811,201],{"class":134},[103,813,815],{"class":105,"line":814},39,[103,816,330],{"class":134},[17,818,819,393],{},[20,820,392],{},[17,822,823],{},"总结：",[17,825,826,827,830],{},"​\tstring的赋值方式很多，",[68,828,829],{},"operator=","  这种方式是比较实用的",[13,832,833],{"id":833},"string字符串拼接",[17,835,836],{},[20,837,402],{},[24,839,840],{},[27,841,842],{},"实现在字符串末尾拼接字符串",[17,844,845],{},[20,846,847],{},"函数原型：",[24,849,850,856,862,868,874,880,886],{},[27,851,852,855],{},[68,853,854],{},"string& operator+=(const char* str);","                   //重载+=操作符",[27,857,858,861],{},[68,859,860],{},"string& operator+=(const char c);","                         //重载+=操作符",[27,863,864,867],{},[68,865,866],{},"string& operator+=(const string& str);","                //重载+=操作符",[27,869,870,873],{},[68,871,872],{},"string& append(const char *s); ","                               //把字符串s连接到当前字符串结尾",[27,875,876,879],{},[68,877,878],{},"string& append(const char *s, int n);","                 //把字符串s的前n个字符连接到当前字符串结尾",[27,881,882,885],{},[68,883,884],{},"string& append(const string &s);","                           //同operator+=(const string& str)",[27,887,888,891],{},[68,889,890],{},"string& append(const string &s, int pos, int n);","//字符串s中从pos开始的n个字符连接到字符串结尾",[17,893,894],{},[20,895,92],{},[94,897,899],{"className":96,"code":898,"language":98,"meta":99,"style":99},"//字符串拼接\nvoid test01()\n{\n    string str1 = \"我\";\n\n    str1 += \"爱玩游戏\";\n\n    cout \u003C\u003C \"str1 = \" \u003C\u003C str1 \u003C\u003C endl;\n    \n    str1 += ':';\n\n    cout \u003C\u003C \"str1 = \" \u003C\u003C str1 \u003C\u003C endl;\n\n    string str2 = \"LOL DNF\";\n\n    str1 += str2;\n\n    cout \u003C\u003C \"str1 = \" \u003C\u003C str1 \u003C\u003C endl;\n\n    string str3 = \"I\";\n    str3.append(\" love \");\n    str3.append(\"game abcde\", 4);\n    //str3.append(str2);\n    str3.append(str2, 4, 3); // 从下标4位置开始 ，截取3个字符，拼接到字符串末尾\n    cout \u003C\u003C \"str3 = \" \u003C\u003C str3 \u003C\u003C endl;\n}\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[68,900,901,906,914,918,930,934,946,950,966,971,982,986,1002,1006,1018,1022,1031,1035,1051,1055,1067,1082,1100,1105,1127,1143,1147,1155,1159,1165,1169,1173,1181],{"__ignoreMap":99},[103,902,903],{"class":105,"line":106},[103,904,905],{"class":120},"//字符串拼接\n",[103,907,908,910,912],{"class":105,"line":117},[103,909,127],{"class":109},[103,911,131],{"class":130},[103,913,135],{"class":134},[103,915,916],{"class":105,"line":124},[103,917,141],{"class":134},[103,919,920,923,925,928],{"class":105,"line":138},[103,921,922],{"class":134},"    string str1 ",[103,924,195],{"class":109},[103,926,927],{"class":113}," \"我\"",[103,929,201],{"class":134},[103,931,932],{"class":105,"line":144},[103,933,180],{"emptyLinePlaceholder":179},[103,935,936,938,941,944],{"class":105,"line":153},[103,937,490],{"class":134},[103,939,940],{"class":109},"+=",[103,942,943],{"class":113}," \"爱玩游戏\"",[103,945,201],{"class":134},[103,947,948],{"class":105,"line":176},[103,949,180],{"emptyLinePlaceholder":179},[103,951,952,954,956,958,960,962,964],{"class":105,"line":183},[103,953,156],{"class":134},[103,955,159],{"class":109},[103,957,162],{"class":113},[103,959,165],{"class":109},[103,961,509],{"class":134},[103,963,159],{"class":109},[103,965,173],{"class":134},[103,967,968],{"class":105,"line":204},[103,969,970],{"class":134},"    \n",[103,972,973,975,977,980],{"class":105,"line":219},[103,974,490],{"class":134},[103,976,940],{"class":109},[103,978,979],{"class":113}," ':'",[103,981,201],{"class":134},[103,983,984],{"class":105,"line":224},[103,985,180],{"emptyLinePlaceholder":179},[103,987,988,990,992,994,996,998,1000],{"class":105,"line":243},[103,989,156],{"class":134},[103,991,159],{"class":109},[103,993,162],{"class":113},[103,995,165],{"class":109},[103,997,509],{"class":134},[103,999,159],{"class":109},[103,1001,173],{"class":134},[103,1003,1004],{"class":105,"line":248},[103,1005,180],{"emptyLinePlaceholder":179},[103,1007,1008,1011,1013,1016],{"class":105,"line":262},[103,1009,1010],{"class":134},"    string str2 ",[103,1012,195],{"class":109},[103,1014,1015],{"class":113}," \"LOL DNF\"",[103,1017,201],{"class":134},[103,1019,1020],{"class":105,"line":281},[103,1021,180],{"emptyLinePlaceholder":179},[103,1023,1024,1026,1028],{"class":105,"line":286},[103,1025,490],{"class":134},[103,1027,940],{"class":109},[103,1029,1030],{"class":134}," str2;\n",[103,1032,1033],{"class":105,"line":310},[103,1034,180],{"emptyLinePlaceholder":179},[103,1036,1037,1039,1041,1043,1045,1047,1049],{"class":105,"line":327},[103,1038,156],{"class":134},[103,1040,159],{"class":109},[103,1042,162],{"class":113},[103,1044,165],{"class":109},[103,1046,509],{"class":134},[103,1048,159],{"class":109},[103,1050,173],{"class":134},[103,1052,1053],{"class":105,"line":333},[103,1054,180],{"emptyLinePlaceholder":179},[103,1056,1057,1060,1062,1065],{"class":105,"line":338},[103,1058,1059],{"class":134},"    string str3 ",[103,1061,195],{"class":109},[103,1063,1064],{"class":113}," \"I\"",[103,1066,201],{"class":134},[103,1068,1069,1072,1075,1077,1080],{"class":105,"line":350},[103,1070,1071],{"class":134},"    str3.",[103,1073,1074],{"class":130},"append",[103,1076,294],{"class":134},[103,1078,1079],{"class":113},"\" love \"",[103,1081,307],{"class":134},[103,1083,1084,1086,1088,1090,1093,1095,1098],{"class":105,"line":355},[103,1085,1071],{"class":134},[103,1087,1074],{"class":130},[103,1089,294],{"class":134},[103,1091,1092],{"class":113},"\"game abcde\"",[103,1094,301],{"class":134},[103,1096,1097],{"class":297},"4",[103,1099,307],{"class":134},[103,1101,1102],{"class":105,"line":364},[103,1103,1104],{"class":120},"    //str3.append(str2);\n",[103,1106,1107,1109,1111,1114,1116,1118,1121,1124],{"class":105,"line":369},[103,1108,1071],{"class":134},[103,1110,1074],{"class":130},[103,1112,1113],{"class":134},"(str2, ",[103,1115,1097],{"class":297},[103,1117,301],{"class":134},[103,1119,1120],{"class":297},"3",[103,1122,1123],{"class":134},");",[103,1125,1126],{"class":120}," // 从下标4位置开始 ，截取3个字符，拼接到字符串末尾\n",[103,1128,1129,1131,1133,1135,1137,1139,1141],{"class":105,"line":374},[103,1130,156],{"class":134},[103,1132,159],{"class":109},[103,1134,269],{"class":113},[103,1136,165],{"class":109},[103,1138,583],{"class":134},[103,1140,159],{"class":109},[103,1142,173],{"class":134},[103,1144,1145],{"class":105,"line":385},[103,1146,330],{"class":134},[103,1148,1149,1151,1153],{"class":105,"line":715},[103,1150,341],{"class":109},[103,1152,344],{"class":130},[103,1154,347],{"class":134},[103,1156,1157],{"class":105,"line":720},[103,1158,180],{"emptyLinePlaceholder":179},[103,1160,1161,1163],{"class":105,"line":726},[103,1162,358],{"class":130},[103,1164,361],{"class":134},[103,1166,1167],{"class":105,"line":745},[103,1168,180],{"emptyLinePlaceholder":179},[103,1170,1171],{"class":105,"line":764},[103,1172,180],{"emptyLinePlaceholder":179},[103,1174,1175,1177,1179],{"class":105,"line":769},[103,1176,377],{"class":109},[103,1178,380],{"class":297},[103,1180,201],{"class":134},[103,1182,1183],{"class":105,"line":774},[103,1184,330],{"class":134},[17,1186,1187,393],{},[20,1188,392],{},[17,1190,1191],{},"总结：字符串拼接的重载版本很多，初学阶段记住几种即可",[13,1193,1194],{"id":1194},"string查找和替换",[17,1196,1197],{},[20,1198,402],{},[24,1200,1201,1204],{},[27,1202,1203],{},"查找：查找指定字符串是否存在",[27,1205,1206],{},"替换：在指定的位置替换字符串",[17,1208,1209],{},[20,1210,847],{},[24,1212,1213,1219,1225,1231,1237,1243,1249,1255,1261,1267],{},[27,1214,1215,1218],{},[68,1216,1217],{},"int find(const string& str, int pos = 0) const;","              //查找str第一次出现位置,从pos开始查找",[27,1220,1221,1224],{},[68,1222,1223],{},"int find(const char* s, int pos = 0) const; ","                     //查找s第一次出现位置,从pos开始查找",[27,1226,1227,1230],{},[68,1228,1229],{},"int find(const char* s, int pos, int n) const; ","               //从pos位置查找s的前n个字符第一次位置",[27,1232,1233,1236],{},[68,1234,1235],{},"int find(const char c, int pos = 0) const; ","                       //查找字符c第一次出现位置",[27,1238,1239,1242],{},[68,1240,1241],{},"int rfind(const string& str, int pos = npos) const;","      //查找str最后一次位置,从pos开始查找",[27,1244,1245,1248],{},[68,1246,1247],{},"int rfind(const char* s, int pos = npos) const;","              //查找s最后一次出现位置,从pos开始查找",[27,1250,1251,1254],{},[68,1252,1253],{},"int rfind(const char* s, int pos, int n) const;","              //从pos查找s的前n个字符最后一次位置",[27,1256,1257,1260],{},[68,1258,1259],{},"int rfind(const char c, int pos = 0) const;  ","                      //查找字符c最后一次出现位置",[27,1262,1263,1266],{},[68,1264,1265],{},"string& replace(int pos, int n, const string& str); ","       //替换从pos开始n个字符为字符串str",[27,1268,1269,1272],{},[68,1270,1271],{},"string& replace(int pos, int n,const char* s); ","                 //替换从pos开始的n个字符为字符串s",[17,1274,1275],{},[20,1276,92],{},[94,1278,1280],{"className":96,"code":1279,"language":98,"meta":99,"style":99},"//查找和替换\nvoid test01()\n{\n    //查找\n    string str1 = \"abcdefgde\";\n\n    int pos = str1.find(\"de\");\n\n    if (pos == -1)\n    {\n        cout \u003C\u003C \"未找到\" \u003C\u003C endl;\n    }\n    else\n    {\n        cout \u003C\u003C \"pos = \" \u003C\u003C pos \u003C\u003C endl;\n    }\n    \n\n    pos = str1.rfind(\"de\");\n\n    cout \u003C\u003C \"pos = \" \u003C\u003C pos \u003C\u003C endl;\n\n}\n\nvoid test02()\n{\n    //替换\n    string str1 = \"abcdefgde\";\n    str1.replace(1, 3, \"1111\");\n\n    cout \u003C\u003C \"str1 = \" \u003C\u003C str1 \u003C\u003C endl;\n}\n\nint main() {\n\n    //test01();\n    //test02();\n\n\n    return 0;\n}\n",[68,1281,1282,1287,1295,1299,1304,1315,1319,1342,1346,1366,1371,1385,1390,1395,1399,1416,1420,1424,1428,1446,1450,1466,1470,1474,1478,1487,1491,1496,1506,1529,1533,1549,1553,1557,1565,1569,1574,1579,1583,1587,1596],{"__ignoreMap":99},[103,1283,1284],{"class":105,"line":106},[103,1285,1286],{"class":120},"//查找和替换\n",[103,1288,1289,1291,1293],{"class":105,"line":117},[103,1290,127],{"class":109},[103,1292,131],{"class":130},[103,1294,135],{"class":134},[103,1296,1297],{"class":105,"line":124},[103,1298,141],{"class":134},[103,1300,1301],{"class":105,"line":138},[103,1302,1303],{"class":120},"    //查找\n",[103,1305,1306,1308,1310,1313],{"class":105,"line":144},[103,1307,922],{"class":134},[103,1309,195],{"class":109},[103,1311,1312],{"class":113}," \"abcdefgde\"",[103,1314,201],{"class":134},[103,1316,1317],{"class":105,"line":153},[103,1318,180],{"emptyLinePlaceholder":179},[103,1320,1321,1324,1327,1329,1332,1335,1337,1340],{"class":105,"line":176},[103,1322,1323],{"class":109},"    int",[103,1325,1326],{"class":134}," pos ",[103,1328,195],{"class":109},[103,1330,1331],{"class":134}," str1.",[103,1333,1334],{"class":130},"find",[103,1336,294],{"class":134},[103,1338,1339],{"class":113},"\"de\"",[103,1341,307],{"class":134},[103,1343,1344],{"class":105,"line":183},[103,1345,180],{"emptyLinePlaceholder":179},[103,1347,1348,1351,1354,1357,1360,1363],{"class":105,"line":204},[103,1349,1350],{"class":109},"    if",[103,1352,1353],{"class":134}," (pos ",[103,1355,1356],{"class":109},"==",[103,1358,1359],{"class":109}," -",[103,1361,1362],{"class":297},"1",[103,1364,1365],{"class":134},")\n",[103,1367,1368],{"class":105,"line":219},[103,1369,1370],{"class":134},"    {\n",[103,1372,1373,1376,1378,1381,1383],{"class":105,"line":224},[103,1374,1375],{"class":134},"        cout ",[103,1377,159],{"class":109},[103,1379,1380],{"class":113}," \"未找到\"",[103,1382,165],{"class":109},[103,1384,173],{"class":134},[103,1386,1387],{"class":105,"line":243},[103,1388,1389],{"class":134},"    }\n",[103,1391,1392],{"class":105,"line":248},[103,1393,1394],{"class":109},"    else\n",[103,1396,1397],{"class":105,"line":262},[103,1398,1370],{"class":134},[103,1400,1401,1403,1405,1408,1410,1412,1414],{"class":105,"line":281},[103,1402,1375],{"class":134},[103,1404,159],{"class":109},[103,1406,1407],{"class":113}," \"pos = \"",[103,1409,165],{"class":109},[103,1411,1326],{"class":134},[103,1413,159],{"class":109},[103,1415,173],{"class":134},[103,1417,1418],{"class":105,"line":286},[103,1419,1389],{"class":134},[103,1421,1422],{"class":105,"line":310},[103,1423,970],{"class":134},[103,1425,1426],{"class":105,"line":327},[103,1427,180],{"emptyLinePlaceholder":179},[103,1429,1430,1433,1435,1437,1440,1442,1444],{"class":105,"line":333},[103,1431,1432],{"class":134},"    pos ",[103,1434,195],{"class":109},[103,1436,1331],{"class":134},[103,1438,1439],{"class":130},"rfind",[103,1441,294],{"class":134},[103,1443,1339],{"class":113},[103,1445,307],{"class":134},[103,1447,1448],{"class":105,"line":338},[103,1449,180],{"emptyLinePlaceholder":179},[103,1451,1452,1454,1456,1458,1460,1462,1464],{"class":105,"line":350},[103,1453,156],{"class":134},[103,1455,159],{"class":109},[103,1457,1407],{"class":113},[103,1459,165],{"class":109},[103,1461,1326],{"class":134},[103,1463,159],{"class":109},[103,1465,173],{"class":134},[103,1467,1468],{"class":105,"line":355},[103,1469,180],{"emptyLinePlaceholder":179},[103,1471,1472],{"class":105,"line":364},[103,1473,330],{"class":134},[103,1475,1476],{"class":105,"line":369},[103,1477,180],{"emptyLinePlaceholder":179},[103,1479,1480,1482,1485],{"class":105,"line":374},[103,1481,127],{"class":109},[103,1483,1484],{"class":130}," test02",[103,1486,135],{"class":134},[103,1488,1489],{"class":105,"line":385},[103,1490,141],{"class":134},[103,1492,1493],{"class":105,"line":715},[103,1494,1495],{"class":120},"    //替换\n",[103,1497,1498,1500,1502,1504],{"class":105,"line":720},[103,1499,922],{"class":134},[103,1501,195],{"class":109},[103,1503,1312],{"class":113},[103,1505,201],{"class":134},[103,1507,1508,1511,1514,1516,1518,1520,1522,1524,1527],{"class":105,"line":726},[103,1509,1510],{"class":134},"    str1.",[103,1512,1513],{"class":130},"replace",[103,1515,294],{"class":134},[103,1517,1362],{"class":297},[103,1519,301],{"class":134},[103,1521,1120],{"class":297},[103,1523,301],{"class":134},[103,1525,1526],{"class":113},"\"1111\"",[103,1528,307],{"class":134},[103,1530,1531],{"class":105,"line":745},[103,1532,180],{"emptyLinePlaceholder":179},[103,1534,1535,1537,1539,1541,1543,1545,1547],{"class":105,"line":764},[103,1536,156],{"class":134},[103,1538,159],{"class":109},[103,1540,162],{"class":113},[103,1542,165],{"class":109},[103,1544,509],{"class":134},[103,1546,159],{"class":109},[103,1548,173],{"class":134},[103,1550,1551],{"class":105,"line":769},[103,1552,330],{"class":134},[103,1554,1555],{"class":105,"line":774},[103,1556,180],{"emptyLinePlaceholder":179},[103,1558,1559,1561,1563],{"class":105,"line":783},[103,1560,341],{"class":109},[103,1562,344],{"class":130},[103,1564,347],{"class":134},[103,1566,1567],{"class":105,"line":788},[103,1568,180],{"emptyLinePlaceholder":179},[103,1570,1571],{"class":105,"line":795},[103,1572,1573],{"class":120},"    //test01();\n",[103,1575,1576],{"class":105,"line":800},[103,1577,1578],{"class":120},"    //test02();\n",[103,1580,1581],{"class":105,"line":805},[103,1582,180],{"emptyLinePlaceholder":179},[103,1584,1585],{"class":105,"line":814},[103,1586,180],{"emptyLinePlaceholder":179},[103,1588,1590,1592,1594],{"class":105,"line":1589},40,[103,1591,377],{"class":109},[103,1593,380],{"class":297},[103,1595,201],{"class":134},[103,1597,1599],{"class":105,"line":1598},41,[103,1600,330],{"class":134},[17,1602,1603,393],{},[20,1604,392],{},[17,1606,823],{},[24,1608,1609,1612,1615],{},[27,1610,1611],{},"find查找是从左往后，rfind从右往左",[27,1613,1614],{},"find找到字符串后返回查找的第一个字符位置，找不到返回-1",[27,1616,1617],{},"replace在替换时，要指定从哪个位置起，多少个字符，替换成什么样的字符串",[13,1619,1620],{"id":1620},"string字符串比较",[17,1622,1623],{},[20,1624,402],{},[24,1626,1627],{},[27,1628,1629],{},"字符串之间的比较",[17,1631,1632],{},[20,1633,1634],{},"比较方式：",[24,1636,1637],{},[27,1638,1639],{},"字符串比较是按字符的ASCII码进行对比",[17,1641,1642],{},"= 返回   0",[17,1644,1645],{},"> 返回   1",[17,1647,1648],{},"\u003C 返回  -1",[17,1650,1651],{},[20,1652,847],{},[24,1654,1655,1661],{},[27,1656,1657,1660],{},[68,1658,1659],{},"int compare(const string &s) const; ","  //与字符串s比较",[27,1662,1663,1666],{},[68,1664,1665],{},"int compare(const char *s) const;","      //与字符串s比较",[17,1668,1669],{},[20,1670,92],{},[94,1672,1674],{"className":96,"code":1673,"language":98,"meta":99,"style":99},"//字符串比较\nvoid test01()\n{\n\n    string s1 = \"hello\";\n    string s2 = \"aello\";\n\n    int ret = s1.compare(s2);\n\n    if (ret == 0) {\n        cout \u003C\u003C \"s1 等于 s2\" \u003C\u003C endl;\n    }\n    else if (ret > 0)\n    {\n        cout \u003C\u003C \"s1 大于 s2\" \u003C\u003C endl;\n    }\n    else\n    {\n        cout \u003C\u003C \"s1 小于 s2\" \u003C\u003C endl;\n    }\n\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[68,1675,1676,1681,1689,1693,1697,1709,1721,1725,1743,1747,1761,1774,1778,1795,1799,1812,1816,1820,1824,1837,1841,1845,1849,1853,1861,1865,1871,1875,1879,1887],{"__ignoreMap":99},[103,1677,1678],{"class":105,"line":106},[103,1679,1680],{"class":120},"//字符串比较\n",[103,1682,1683,1685,1687],{"class":105,"line":117},[103,1684,127],{"class":109},[103,1686,131],{"class":130},[103,1688,135],{"class":134},[103,1690,1691],{"class":105,"line":124},[103,1692,141],{"class":134},[103,1694,1695],{"class":105,"line":138},[103,1696,180],{"emptyLinePlaceholder":179},[103,1698,1699,1702,1704,1707],{"class":105,"line":144},[103,1700,1701],{"class":134},"    string s1 ",[103,1703,195],{"class":109},[103,1705,1706],{"class":113}," \"hello\"",[103,1708,201],{"class":134},[103,1710,1711,1714,1716,1719],{"class":105,"line":153},[103,1712,1713],{"class":134},"    string s2 ",[103,1715,195],{"class":109},[103,1717,1718],{"class":113}," \"aello\"",[103,1720,201],{"class":134},[103,1722,1723],{"class":105,"line":176},[103,1724,180],{"emptyLinePlaceholder":179},[103,1726,1727,1729,1732,1734,1737,1740],{"class":105,"line":183},[103,1728,1323],{"class":109},[103,1730,1731],{"class":134}," ret ",[103,1733,195],{"class":109},[103,1735,1736],{"class":134}," s1.",[103,1738,1739],{"class":130},"compare",[103,1741,1742],{"class":134},"(s2);\n",[103,1744,1745],{"class":105,"line":204},[103,1746,180],{"emptyLinePlaceholder":179},[103,1748,1749,1751,1754,1756,1758],{"class":105,"line":219},[103,1750,1350],{"class":109},[103,1752,1753],{"class":134}," (ret ",[103,1755,1356],{"class":109},[103,1757,380],{"class":297},[103,1759,1760],{"class":134},") {\n",[103,1762,1763,1765,1767,1770,1772],{"class":105,"line":224},[103,1764,1375],{"class":134},[103,1766,159],{"class":109},[103,1768,1769],{"class":113}," \"s1 等于 s2\"",[103,1771,165],{"class":109},[103,1773,173],{"class":134},[103,1775,1776],{"class":105,"line":243},[103,1777,1389],{"class":134},[103,1779,1780,1783,1786,1788,1791,1793],{"class":105,"line":248},[103,1781,1782],{"class":109},"    else",[103,1784,1785],{"class":109}," if",[103,1787,1753],{"class":134},[103,1789,1790],{"class":109},">",[103,1792,380],{"class":297},[103,1794,1365],{"class":134},[103,1796,1797],{"class":105,"line":262},[103,1798,1370],{"class":134},[103,1800,1801,1803,1805,1808,1810],{"class":105,"line":281},[103,1802,1375],{"class":134},[103,1804,159],{"class":109},[103,1806,1807],{"class":113}," \"s1 大于 s2\"",[103,1809,165],{"class":109},[103,1811,173],{"class":134},[103,1813,1814],{"class":105,"line":286},[103,1815,1389],{"class":134},[103,1817,1818],{"class":105,"line":310},[103,1819,1394],{"class":109},[103,1821,1822],{"class":105,"line":327},[103,1823,1370],{"class":134},[103,1825,1826,1828,1830,1833,1835],{"class":105,"line":333},[103,1827,1375],{"class":134},[103,1829,159],{"class":109},[103,1831,1832],{"class":113}," \"s1 小于 s2\"",[103,1834,165],{"class":109},[103,1836,173],{"class":134},[103,1838,1839],{"class":105,"line":338},[103,1840,1389],{"class":134},[103,1842,1843],{"class":105,"line":350},[103,1844,180],{"emptyLinePlaceholder":179},[103,1846,1847],{"class":105,"line":355},[103,1848,330],{"class":134},[103,1850,1851],{"class":105,"line":364},[103,1852,180],{"emptyLinePlaceholder":179},[103,1854,1855,1857,1859],{"class":105,"line":369},[103,1856,341],{"class":109},[103,1858,344],{"class":130},[103,1860,347],{"class":134},[103,1862,1863],{"class":105,"line":374},[103,1864,180],{"emptyLinePlaceholder":179},[103,1866,1867,1869],{"class":105,"line":385},[103,1868,358],{"class":130},[103,1870,361],{"class":134},[103,1872,1873],{"class":105,"line":715},[103,1874,180],{"emptyLinePlaceholder":179},[103,1876,1877],{"class":105,"line":720},[103,1878,180],{"emptyLinePlaceholder":179},[103,1880,1881,1883,1885],{"class":105,"line":726},[103,1882,377],{"class":109},[103,1884,380],{"class":297},[103,1886,201],{"class":134},[103,1888,1889],{"class":105,"line":745},[103,1890,330],{"class":134},[17,1892,1893,393],{},[20,1894,392],{},[17,1896,1897],{},"总结：字符串对比主要是用于比较两个字符串是否相等，判断谁大谁小的意义并不是很大",[13,1899,1900],{"id":1900},"string字符存取",[17,1902,1903],{},"string中单个字符存取方式有两种",[24,1905,1906,1915],{},[27,1907,1908,1911,1912,1914],{},[68,1909,1910],{},"char& operator[](int n); ","     //通过",[103,1913],{},"方式取字符",[27,1916,1917,1920],{},[68,1918,1919],{},"char& at(int n);   ","                    //通过at方法获取字符",[17,1922,1923],{},[20,1924,92],{},[94,1926,1928],{"className":96,"code":1927,"language":98,"meta":99,"style":99},"void test01()\n{\n    string str = \"hello world\";\n\n    for (int i = 0; i \u003C str.size(); i++)\n    {\n        cout \u003C\u003C str[i] \u003C\u003C \" \";\n    }\n    cout \u003C\u003C endl;\n\n    for (int i = 0; i \u003C str.size(); i++)\n    {\n        cout \u003C\u003C str.at(i) \u003C\u003C \" \";\n    }\n    cout \u003C\u003C endl;\n\n    //字符修改\n    str[0] = 'x';\n    str.at(1) = 'x';\n    cout \u003C\u003C str \u003C\u003C endl;\n    \n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[68,1929,1930,1938,1942,1953,1957,1994,1998,2014,2018,2026,2030,2058,2062,2082,2086,2094,2098,2103,2121,2141,2153,2157,2161,2165,2173,2177,2183,2187,2191,2199],{"__ignoreMap":99},[103,1931,1932,1934,1936],{"class":105,"line":106},[103,1933,127],{"class":109},[103,1935,131],{"class":130},[103,1937,135],{"class":134},[103,1939,1940],{"class":105,"line":117},[103,1941,141],{"class":134},[103,1943,1944,1947,1949,1951],{"class":105,"line":124},[103,1945,1946],{"class":134},"    string str ",[103,1948,195],{"class":109},[103,1950,198],{"class":113},[103,1952,201],{"class":134},[103,1954,1955],{"class":105,"line":138},[103,1956,180],{"emptyLinePlaceholder":179},[103,1958,1959,1962,1965,1967,1970,1972,1974,1977,1980,1983,1986,1989,1992],{"class":105,"line":144},[103,1960,1961],{"class":109},"    for",[103,1963,1964],{"class":134}," (",[103,1966,341],{"class":109},[103,1968,1969],{"class":134}," i ",[103,1971,195],{"class":109},[103,1973,380],{"class":297},[103,1975,1976],{"class":134},"; i ",[103,1978,1979],{"class":109},"\u003C",[103,1981,1982],{"class":134}," str.",[103,1984,1985],{"class":130},"size",[103,1987,1988],{"class":134},"(); i",[103,1990,1991],{"class":109},"++",[103,1993,1365],{"class":134},[103,1995,1996],{"class":105,"line":153},[103,1997,1370],{"class":134},[103,1999,2000,2002,2004,2007,2009,2012],{"class":105,"line":176},[103,2001,1375],{"class":134},[103,2003,159],{"class":109},[103,2005,2006],{"class":134}," str[i] ",[103,2008,159],{"class":109},[103,2010,2011],{"class":113}," \" \"",[103,2013,201],{"class":134},[103,2015,2016],{"class":105,"line":183},[103,2017,1389],{"class":134},[103,2019,2020,2022,2024],{"class":105,"line":204},[103,2021,156],{"class":134},[103,2023,159],{"class":109},[103,2025,173],{"class":134},[103,2027,2028],{"class":105,"line":219},[103,2029,180],{"emptyLinePlaceholder":179},[103,2031,2032,2034,2036,2038,2040,2042,2044,2046,2048,2050,2052,2054,2056],{"class":105,"line":224},[103,2033,1961],{"class":109},[103,2035,1964],{"class":134},[103,2037,341],{"class":109},[103,2039,1969],{"class":134},[103,2041,195],{"class":109},[103,2043,380],{"class":297},[103,2045,1976],{"class":134},[103,2047,1979],{"class":109},[103,2049,1982],{"class":134},[103,2051,1985],{"class":130},[103,2053,1988],{"class":134},[103,2055,1991],{"class":109},[103,2057,1365],{"class":134},[103,2059,2060],{"class":105,"line":243},[103,2061,1370],{"class":134},[103,2063,2064,2066,2068,2070,2073,2076,2078,2080],{"class":105,"line":248},[103,2065,1375],{"class":134},[103,2067,159],{"class":109},[103,2069,1982],{"class":134},[103,2071,2072],{"class":130},"at",[103,2074,2075],{"class":134},"(i) ",[103,2077,159],{"class":109},[103,2079,2011],{"class":113},[103,2081,201],{"class":134},[103,2083,2084],{"class":105,"line":262},[103,2085,1389],{"class":134},[103,2087,2088,2090,2092],{"class":105,"line":281},[103,2089,156],{"class":134},[103,2091,159],{"class":109},[103,2093,173],{"class":134},[103,2095,2096],{"class":105,"line":286},[103,2097,180],{"emptyLinePlaceholder":179},[103,2099,2100],{"class":105,"line":310},[103,2101,2102],{"class":120},"    //字符修改\n",[103,2104,2105,2108,2111,2114,2116,2119],{"class":105,"line":327},[103,2106,2107],{"class":134},"    str[",[103,2109,2110],{"class":297},"0",[103,2112,2113],{"class":134},"] ",[103,2115,195],{"class":109},[103,2117,2118],{"class":113}," 'x'",[103,2120,201],{"class":134},[103,2122,2123,2126,2128,2130,2132,2135,2137,2139],{"class":105,"line":333},[103,2124,2125],{"class":134},"    str.",[103,2127,2072],{"class":130},[103,2129,294],{"class":134},[103,2131,1362],{"class":297},[103,2133,2134],{"class":134},") ",[103,2136,195],{"class":109},[103,2138,2118],{"class":113},[103,2140,201],{"class":134},[103,2142,2143,2145,2147,2149,2151],{"class":105,"line":338},[103,2144,156],{"class":134},[103,2146,159],{"class":109},[103,2148,192],{"class":134},[103,2150,159],{"class":109},[103,2152,173],{"class":134},[103,2154,2155],{"class":105,"line":350},[103,2156,970],{"class":134},[103,2158,2159],{"class":105,"line":355},[103,2160,330],{"class":134},[103,2162,2163],{"class":105,"line":364},[103,2164,180],{"emptyLinePlaceholder":179},[103,2166,2167,2169,2171],{"class":105,"line":369},[103,2168,341],{"class":109},[103,2170,344],{"class":130},[103,2172,347],{"class":134},[103,2174,2175],{"class":105,"line":374},[103,2176,180],{"emptyLinePlaceholder":179},[103,2178,2179,2181],{"class":105,"line":385},[103,2180,358],{"class":130},[103,2182,361],{"class":134},[103,2184,2185],{"class":105,"line":715},[103,2186,180],{"emptyLinePlaceholder":179},[103,2188,2189],{"class":105,"line":720},[103,2190,180],{"emptyLinePlaceholder":179},[103,2192,2193,2195,2197],{"class":105,"line":726},[103,2194,377],{"class":109},[103,2196,380],{"class":297},[103,2198,201],{"class":134},[103,2200,2201],{"class":105,"line":745},[103,2202,330],{"class":134},[17,2204,2205,393],{},[20,2206,392],{},[17,2208,2209,2210,2212],{},"总结：string字符串中单个字符存取有两种方式，利用 ",[103,2211],{}," 或 at",[13,2214,2215],{"id":2215},"string插入和删除",[17,2217,2218],{},[20,2219,402],{},[24,2221,2222],{},[27,2223,2224],{},"对string字符串进行插入和删除字符操作",[17,2226,2227],{},[20,2228,847],{},[24,2230,2231,2237,2243,2249],{},[27,2232,2233,2236],{},[68,2234,2235],{},"string& insert(int pos, const char* s);  ","                //插入字符串",[27,2238,2239,2242],{},[68,2240,2241],{},"string& insert(int pos, const string& str); ","        //插入字符串",[27,2244,2245,2248],{},[68,2246,2247],{},"string& insert(int pos, int n, char c);","                //在指定位置插入n个字符c",[27,2250,2251,2254],{},[68,2252,2253],{},"string& erase(int pos, int n = npos);","                    //删除从Pos开始的n个字符",[17,2256,2257],{},[20,2258,92],{},[94,2260,2262],{"className":96,"code":2261,"language":98,"meta":99,"style":99},"//字符串插入和删除\nvoid test01()\n{\n    string str = \"hello\";\n    str.insert(1, \"111\");\n    cout \u003C\u003C str \u003C\u003C endl;\n\n    str.erase(1, 3);  //从1号位置开始3个字符\n    cout \u003C\u003C str \u003C\u003C endl;\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[68,2263,2264,2269,2277,2281,2291,2309,2321,2325,2345,2357,2361,2365,2373,2377,2383,2387,2391,2399],{"__ignoreMap":99},[103,2265,2266],{"class":105,"line":106},[103,2267,2268],{"class":120},"//字符串插入和删除\n",[103,2270,2271,2273,2275],{"class":105,"line":117},[103,2272,127],{"class":109},[103,2274,131],{"class":130},[103,2276,135],{"class":134},[103,2278,2279],{"class":105,"line":124},[103,2280,141],{"class":134},[103,2282,2283,2285,2287,2289],{"class":105,"line":138},[103,2284,1946],{"class":134},[103,2286,195],{"class":109},[103,2288,1706],{"class":113},[103,2290,201],{"class":134},[103,2292,2293,2295,2298,2300,2302,2304,2307],{"class":105,"line":144},[103,2294,2125],{"class":134},[103,2296,2297],{"class":130},"insert",[103,2299,294],{"class":134},[103,2301,1362],{"class":297},[103,2303,301],{"class":134},[103,2305,2306],{"class":113},"\"111\"",[103,2308,307],{"class":134},[103,2310,2311,2313,2315,2317,2319],{"class":105,"line":153},[103,2312,156],{"class":134},[103,2314,159],{"class":109},[103,2316,192],{"class":134},[103,2318,159],{"class":109},[103,2320,173],{"class":134},[103,2322,2323],{"class":105,"line":176},[103,2324,180],{"emptyLinePlaceholder":179},[103,2326,2327,2329,2332,2334,2336,2338,2340,2342],{"class":105,"line":183},[103,2328,2125],{"class":134},[103,2330,2331],{"class":130},"erase",[103,2333,294],{"class":134},[103,2335,1362],{"class":297},[103,2337,301],{"class":134},[103,2339,1120],{"class":297},[103,2341,1123],{"class":134},[103,2343,2344],{"class":120},"  //从1号位置开始3个字符\n",[103,2346,2347,2349,2351,2353,2355],{"class":105,"line":204},[103,2348,156],{"class":134},[103,2350,159],{"class":109},[103,2352,192],{"class":134},[103,2354,159],{"class":109},[103,2356,173],{"class":134},[103,2358,2359],{"class":105,"line":219},[103,2360,330],{"class":134},[103,2362,2363],{"class":105,"line":224},[103,2364,180],{"emptyLinePlaceholder":179},[103,2366,2367,2369,2371],{"class":105,"line":243},[103,2368,341],{"class":109},[103,2370,344],{"class":130},[103,2372,347],{"class":134},[103,2374,2375],{"class":105,"line":248},[103,2376,180],{"emptyLinePlaceholder":179},[103,2378,2379,2381],{"class":105,"line":262},[103,2380,358],{"class":130},[103,2382,361],{"class":134},[103,2384,2385],{"class":105,"line":281},[103,2386,180],{"emptyLinePlaceholder":179},[103,2388,2389],{"class":105,"line":286},[103,2390,180],{"emptyLinePlaceholder":179},[103,2392,2393,2395,2397],{"class":105,"line":310},[103,2394,377],{"class":109},[103,2396,380],{"class":297},[103,2398,201],{"class":134},[103,2400,2401],{"class":105,"line":327},[103,2402,330],{"class":134},[17,2404,2405,393],{},[20,2406,392],{},[17,2408,2409],{},"**总结：**插入和删除的起始下标都是从0开始",[13,2411,2412],{"id":2412},"string子串",[17,2414,2415],{},[20,2416,402],{},[24,2418,2419],{},[27,2420,2421],{},"从字符串中获取想要的子串",[17,2423,2424],{},[20,2425,847],{},[24,2427,2428],{},[27,2429,2430,2433],{},[68,2431,2432],{},"string substr(int pos = 0, int n = npos) const;","   //返回由pos开始的n个字符组成的字符串",[17,2435,2436],{},[20,2437,92],{},[94,2439,2441],{"className":96,"code":2440,"language":98,"meta":99,"style":99},"//子串\nvoid test01()\n{\n\n    string str = \"abcdefg\";\n    string subStr = str.substr(1, 3);\n    cout \u003C\u003C \"subStr = \" \u003C\u003C subStr \u003C\u003C endl;\n\n    string email = \"hello@sina.com\";\n    int pos = email.find(\"@\");\n    string username = email.substr(0, pos);\n    cout \u003C\u003C \"username: \" \u003C\u003C username \u003C\u003C endl;\n\n}\n\nint main() {\n\n    test01();\n\n\n    return 0;\n}\n",[68,2442,2443,2448,2456,2460,2464,2475,2497,2515,2519,2531,2551,2569,2587,2591,2595,2599,2607,2611,2617,2621,2625,2633],{"__ignoreMap":99},[103,2444,2445],{"class":105,"line":106},[103,2446,2447],{"class":120},"//子串\n",[103,2449,2450,2452,2454],{"class":105,"line":117},[103,2451,127],{"class":109},[103,2453,131],{"class":130},[103,2455,135],{"class":134},[103,2457,2458],{"class":105,"line":124},[103,2459,141],{"class":134},[103,2461,2462],{"class":105,"line":138},[103,2463,180],{"emptyLinePlaceholder":179},[103,2465,2466,2468,2470,2473],{"class":105,"line":144},[103,2467,1946],{"class":134},[103,2469,195],{"class":109},[103,2471,2472],{"class":113}," \"abcdefg\"",[103,2474,201],{"class":134},[103,2476,2477,2480,2482,2484,2487,2489,2491,2493,2495],{"class":105,"line":153},[103,2478,2479],{"class":134},"    string subStr ",[103,2481,195],{"class":109},[103,2483,1982],{"class":134},[103,2485,2486],{"class":130},"substr",[103,2488,294],{"class":134},[103,2490,1362],{"class":297},[103,2492,301],{"class":134},[103,2494,1120],{"class":297},[103,2496,307],{"class":134},[103,2498,2499,2501,2503,2506,2508,2511,2513],{"class":105,"line":176},[103,2500,156],{"class":134},[103,2502,159],{"class":109},[103,2504,2505],{"class":113}," \"subStr = \"",[103,2507,165],{"class":109},[103,2509,2510],{"class":134}," subStr ",[103,2512,159],{"class":109},[103,2514,173],{"class":134},[103,2516,2517],{"class":105,"line":183},[103,2518,180],{"emptyLinePlaceholder":179},[103,2520,2521,2524,2526,2529],{"class":105,"line":204},[103,2522,2523],{"class":134},"    string email ",[103,2525,195],{"class":109},[103,2527,2528],{"class":113}," \"hello@sina.com\"",[103,2530,201],{"class":134},[103,2532,2533,2535,2537,2539,2542,2544,2546,2549],{"class":105,"line":219},[103,2534,1323],{"class":109},[103,2536,1326],{"class":134},[103,2538,195],{"class":109},[103,2540,2541],{"class":134}," email.",[103,2543,1334],{"class":130},[103,2545,294],{"class":134},[103,2547,2548],{"class":113},"\"@\"",[103,2550,307],{"class":134},[103,2552,2553,2556,2558,2560,2562,2564,2566],{"class":105,"line":224},[103,2554,2555],{"class":134},"    string username ",[103,2557,195],{"class":109},[103,2559,2541],{"class":134},[103,2561,2486],{"class":130},[103,2563,294],{"class":134},[103,2565,2110],{"class":297},[103,2567,2568],{"class":134},", pos);\n",[103,2570,2571,2573,2575,2578,2580,2583,2585],{"class":105,"line":243},[103,2572,156],{"class":134},[103,2574,159],{"class":109},[103,2576,2577],{"class":113}," \"username: \"",[103,2579,165],{"class":109},[103,2581,2582],{"class":134}," username ",[103,2584,159],{"class":109},[103,2586,173],{"class":134},[103,2588,2589],{"class":105,"line":248},[103,2590,180],{"emptyLinePlaceholder":179},[103,2592,2593],{"class":105,"line":262},[103,2594,330],{"class":134},[103,2596,2597],{"class":105,"line":281},[103,2598,180],{"emptyLinePlaceholder":179},[103,2600,2601,2603,2605],{"class":105,"line":286},[103,2602,341],{"class":109},[103,2604,344],{"class":130},[103,2606,347],{"class":134},[103,2608,2609],{"class":105,"line":310},[103,2610,180],{"emptyLinePlaceholder":179},[103,2612,2613,2615],{"class":105,"line":327},[103,2614,358],{"class":130},[103,2616,361],{"class":134},[103,2618,2619],{"class":105,"line":333},[103,2620,180],{"emptyLinePlaceholder":179},[103,2622,2623],{"class":105,"line":338},[103,2624,180],{"emptyLinePlaceholder":179},[103,2626,2627,2629,2631],{"class":105,"line":350},[103,2628,377],{"class":109},[103,2630,380],{"class":297},[103,2632,201],{"class":134},[103,2634,2635],{"class":105,"line":355},[103,2636,330],{"class":134},[17,2638,2639,393],{},[20,2640,392],{},[17,2642,2643],{},"**总结：**灵活的运用求子串功能，可以在实际开发中获取有效的信息",[2645,2646,2647],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .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":99,"searchDepth":117,"depth":117,"links":2649},[2650],{"id":5,"depth":124,"text":5},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi","16.3",16030000,"2023-10-05","wiki/2023-10-05-cplusplus-jiao-xue","zh-cn:2023-10-05-cplusplus-jiao-xue","/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue","Cplusplus教学","md","wiki/2023-10-05-Cplusplus教学/ch16-3-string容器",false,null,"/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi","zh-CN","zh-cn",{},{"title":5,"description":99},"WKG9mH4tBJcisIkRLMSWL5xG6rCAAVTOGGlP_qBEFn4",[2670,2675,2680,2686,2692,2698,2704,2710,2716,2722,2728,2734,2740,2746,2752,2758,2759,2765,2771,2777,2783,2789,2795,2801,2807,2813,2819,2825,2831,2837,2843,2849,2855,2861,2867,2873,2879,2885,2891,2897,2903,2909,2915,2921,2927,2933,2939,2945,2951,2957,2963,2969,2975,2981,2987,2993,2999,3005,3011,3017,3023,3029,3035,3040,3045,3050,3056,3062,3068,3074],{"path":2671,"stem":2672,"title":2673,"date":2654,"chapter":1362,"chapterSort":2674,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch1-c-ji-chu-chu-shi","wiki/2023-10-05-Cplusplus教学/ch1-C++基础初识","C++基础初识",1000000,{"path":2676,"stem":2677,"title":2678,"date":2654,"chapter":298,"chapterSort":2679,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch10-nei-cun-fen-qu-yu-sheng-ming-zhou-qi","wiki/2023-10-05-Cplusplus教学/ch10-内存分区与生命周期","内存分区与生命周期",10000000,{"path":2681,"stem":2682,"title":2683,"date":2654,"chapter":2684,"chapterSort":2685,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch11-yin-yong","wiki/2023-10-05-Cplusplus教学/ch11-引用","引用","11",11000000,{"path":2687,"stem":2688,"title":2689,"date":2654,"chapter":2690,"chapterSort":2691,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch12-han-shu-ti-gao-yu-ming-ming-kong-jian","wiki/2023-10-05-Cplusplus教学/ch12-函数提高与命名空间","函数提高与命名空间","12",12000000,{"path":2693,"stem":2694,"title":2695,"date":2654,"chapter":2696,"chapterSort":2697,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang","wiki/2023-10-05-Cplusplus教学/ch13-1-封装","封装","13.1",13010000,{"path":2699,"stem":2700,"title":2701,"date":2654,"chapter":2702,"chapterSort":2703,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-2-dui-xiang-chu-shi-hua-he-qing-li","wiki/2023-10-05-Cplusplus教学/ch13-2-对象初始化和清理","对象初始化和清理","13.2",13020000,{"path":2705,"stem":2706,"title":2707,"date":2654,"chapter":2708,"chapterSort":2709,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch13-3-对象模型与this指针","对象模型与this指针","13.3",13030000,{"path":2711,"stem":2712,"title":2713,"date":2654,"chapter":2714,"chapterSort":2715,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-4-you-yuan-yu-yun-suan-fu-zhong-zai","wiki/2023-10-05-Cplusplus教学/ch13-4-友元与运算符重载","友元与运算符重载","13.4",13040000,{"path":2717,"stem":2718,"title":2719,"date":2654,"chapter":2720,"chapterSort":2721,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-5-ji-cheng","wiki/2023-10-05-Cplusplus教学/ch13-5-继承","继承","13.5",13050000,{"path":2723,"stem":2724,"title":2725,"date":2654,"chapter":2726,"chapterSort":2727,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-6-duo-tai","wiki/2023-10-05-Cplusplus教学/ch13-6-多态","多态","13.6",13060000,{"path":2729,"stem":2730,"title":2731,"date":2654,"chapter":2732,"chapterSort":2733,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-lei-he-dui-xiang","wiki/2023-10-05-Cplusplus教学/ch13-类和对象","类和对象","13",13000000,{"path":2735,"stem":2736,"title":2737,"date":2654,"chapter":2738,"chapterSort":2739,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch14-wen-jian-cao-zuo","wiki/2023-10-05-Cplusplus教学/ch14-文件操作","文件操作","14",14000000,{"path":2741,"stem":2742,"title":2743,"date":2654,"chapter":2744,"chapterSort":2745,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch15-mu-ban","wiki/2023-10-05-Cplusplus教学/ch15-模板","模板","15",15000000,{"path":2747,"stem":2748,"title":2749,"date":2654,"chapter":2750,"chapterSort":2751,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-1-stl-chu-shi","wiki/2023-10-05-Cplusplus教学/ch16-1-STL初识","STL初识","16.1",16010000,{"path":2753,"stem":2754,"title":2755,"date":2654,"chapter":2756,"chapterSort":2757,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-2-std-array","wiki/2023-10-05-Cplusplus教学/ch16-2-std-array","std::array","16.2",16020000,{"path":2651,"stem":2660,"title":5,"date":2654,"chapter":2652,"chapterSort":2653,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},{"path":2760,"stem":2761,"title":2762,"date":2654,"chapter":2763,"chapterSort":2764,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-4-vector-yu-deque-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-4-vector与deque容器","vector与deque容器","16.4",16040000,{"path":2766,"stem":2767,"title":2768,"date":2654,"chapter":2769,"chapterSort":2770,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-5-stack-queue-list-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-5-stack-queue-list容器","stack / queue / list 容器","16.5",16050000,{"path":2772,"stem":2773,"title":2774,"date":2654,"chapter":2775,"chapterSort":2776,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-6-set-map-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-6-set-map容器","set / map 容器","16.6",16060000,{"path":2778,"stem":2779,"title":2780,"date":2654,"chapter":2781,"chapterSort":2782,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-7-han-shu-dui-xiang-yu-wei-ci","wiki/2023-10-05-Cplusplus教学/ch16-7-函数对象与谓词","函数对象与谓词","16.7",16070000,{"path":2784,"stem":2785,"title":2786,"date":2654,"chapter":2787,"chapterSort":2788,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-8-chang-yong-suan-fa","wiki/2023-10-05-Cplusplus教学/ch16-8-常用算法","常用算法","16.8",16080000,{"path":2790,"stem":2791,"title":2792,"date":2654,"chapter":2793,"chapterSort":2794,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-stl-ti-gao-bian-cheng","wiki/2023-10-05-Cplusplus教学/ch16-STL提高编程","STL提高编程","16",16000000,{"path":2796,"stem":2797,"title":2798,"date":2654,"chapter":2799,"chapterSort":2800,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch17-c-lei-xing-zhuan-huan","wiki/2023-10-05-Cplusplus教学/ch17-C++类型转换","C++类型转换","17",17000000,{"path":2802,"stem":2803,"title":2804,"date":2654,"chapter":2805,"chapterSort":2806,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-1-auto","wiki/2023-10-05-Cplusplus教学/ch18-1-auto","auto","18.1",18010000,{"path":2808,"stem":2809,"title":2810,"date":2654,"chapter":2811,"chapterSort":2812,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-10-you-zhi-yin-yong-he-yi-dong-yu-yi","wiki/2023-10-05-Cplusplus教学/ch18-10-右值引用和移动语义","右值引用和移动语义","18.10",18100000,{"path":2814,"stem":2815,"title":2816,"date":2654,"chapter":2817,"chapterSort":2818,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-11-lambda-biao-da-shi","wiki/2023-10-05-Cplusplus教学/ch18-11-Lambda表达式","Lambda 表达式","18.11",18110000,{"path":2820,"stem":2821,"title":2822,"date":2654,"chapter":2823,"chapterSort":2824,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-12-std-function","wiki/2023-10-05-Cplusplus教学/ch18-12-std-function","std::function","18.12",18120000,{"path":2826,"stem":2827,"title":2828,"date":2654,"chapter":2829,"chapterSort":2830,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-13-std-bind","wiki/2023-10-05-Cplusplus教学/ch18-13-std-bind","std::bind","18.13",18130000,{"path":2832,"stem":2833,"title":2834,"date":2654,"chapter":2835,"chapterSort":2836,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-14-std-optional","wiki/2023-10-05-Cplusplus教学/ch18-14-std-optional","std::optional","18.14",18140000,{"path":2838,"stem":2839,"title":2840,"date":2654,"chapter":2841,"chapterSort":2842,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-15-std-variant","wiki/2023-10-05-Cplusplus教学/ch18-15-std-variant","std::variant","18.15",18150000,{"path":2844,"stem":2845,"title":2846,"date":2654,"chapter":2847,"chapterSort":2848,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-16-std-span","wiki/2023-10-05-Cplusplus教学/ch18-16-std-span","std::span","18.16",18160000,{"path":2850,"stem":2851,"title":2852,"date":2654,"chapter":2853,"chapterSort":2854,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print","wiki/2023-10-05-Cplusplus教学/ch18-17-std-format-print","std::format / std::print","18.17",18170000,{"path":2856,"stem":2857,"title":2858,"date":2654,"chapter":2859,"chapterSort":2860,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-18-std-chrono","wiki/2023-10-05-Cplusplus教学/ch18-18-std-chrono","std::chrono","18.18",18180000,{"path":2862,"stem":2863,"title":2864,"date":2654,"chapter":2865,"chapterSort":2866,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-1-std-thread","wiki/2023-10-05-Cplusplus教学/ch18-19-1-std-thread","std::thread 与 join","18.19.1",18190100,{"path":2868,"stem":2869,"title":2870,"date":2654,"chapter":2871,"chapterSort":2872,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-2-mutex-lock-guard","wiki/2023-10-05-Cplusplus教学/ch18-19-2-mutex-lock-guard","mutex 与 lock_guard","18.19.2",18190200,{"path":2874,"stem":2875,"title":2876,"date":2654,"chapter":2877,"chapterSort":2878,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-3-std-atomic","wiki/2023-10-05-Cplusplus教学/ch18-19-3-std-atomic","std::atomic","18.19.3",18190300,{"path":2880,"stem":2881,"title":2882,"date":2654,"chapter":2883,"chapterSort":2884,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-4-condition-variable","wiki/2023-10-05-Cplusplus教学/ch18-19-4-condition-variable","condition_variable","18.19.4",18190400,{"path":2886,"stem":2887,"title":2888,"date":2654,"chapter":2889,"chapterSort":2890,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-bing-fa-bian-cheng","wiki/2023-10-05-Cplusplus教学/ch18-19-并发编程","并发编程","18.19",18190000,{"path":2892,"stem":2893,"title":2894,"date":2654,"chapter":2895,"chapterSort":2896,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-2-nullptr","wiki/2023-10-05-Cplusplus教学/ch18-2-nullptr","nullptr","18.2",18020000,{"path":2898,"stem":2899,"title":2900,"date":2654,"chapter":2901,"chapterSort":2902,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-20-std-filesystem","wiki/2023-10-05-Cplusplus教学/ch18-20-std-filesystem","std::filesystem","18.20",18200000,{"path":2904,"stem":2905,"title":2906,"date":2654,"chapter":2907,"chapterSort":2908,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-21-modules-jian-jie","wiki/2023-10-05-Cplusplus教学/ch18-21-modules简介","modules 简介","18.21",18210000,{"path":2910,"stem":2911,"title":2912,"date":2654,"chapter":2913,"chapterSort":2914,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-3-using","wiki/2023-10-05-Cplusplus教学/ch18-3-using","using","18.3",18030000,{"path":2916,"stem":2917,"title":2918,"date":2654,"chapter":2919,"chapterSort":2920,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-4-enum-class","wiki/2023-10-05-Cplusplus教学/ch18-4-enum-class","enum class","18.4",18040000,{"path":2922,"stem":2923,"title":2924,"date":2654,"chapter":2925,"chapterSort":2926,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-5-fan-wei-for-xun-huan","wiki/2023-10-05-Cplusplus教学/ch18-5-范围for循环","范围 for 循环","18.5",18050000,{"path":2928,"stem":2929,"title":2930,"date":2654,"chapter":2931,"chapterSort":2932,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-6-jie-gou-hua-bang-ding","wiki/2023-10-05-Cplusplus教学/ch18-6-结构化绑定","结构化绑定","18.6",18060000,{"path":2934,"stem":2935,"title":2936,"date":2654,"chapter":2937,"chapterSort":2938,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-7-constexpr","wiki/2023-10-05-Cplusplus教学/ch18-7-constexpr","constexpr","18.7",18070000,{"path":2940,"stem":2941,"title":2942,"date":2654,"chapter":2943,"chapterSort":2944,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-8-raii","wiki/2023-10-05-Cplusplus教学/ch18-8-RAII","RAII","18.8",18080000,{"path":2946,"stem":2947,"title":2948,"date":2654,"chapter":2949,"chapterSort":2950,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-9-zhi-neng-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch18-9-智能指针","智能指针","18.9",18090000,{"path":2952,"stem":2953,"title":2954,"date":2654,"chapter":2955,"chapterSort":2956,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-xian-dai-c","wiki/2023-10-05-Cplusplus教学/ch18-现代C++","现代C++","18",18000000,{"path":2958,"stem":2959,"title":2960,"date":2654,"chapter":2961,"chapterSort":2962,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-1-ding-shi-qi-yu-yi-bu-io","wiki/2023-10-05-Cplusplus教学/ch19-1-1-定时器与异步IO","定时器与异步 IO","19.1.1",19010100,{"path":2964,"stem":2965,"title":2966,"date":2654,"chapter":2967,"chapterSort":2968,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-2-boost-asio-ji-chu","wiki/2023-10-05-Cplusplus教学/ch19-1-2-Boost.Asio基础","Boost.Asio 基础","19.1.2",19010200,{"path":2970,"stem":2971,"title":2972,"date":2654,"chapter":2973,"chapterSort":2974,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-3-chuan-kou-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-3-串口通信","串口通信","19.1.3",19010300,{"path":2976,"stem":2977,"title":2978,"date":2654,"chapter":2979,"chapterSort":2980,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-4-tcp-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-4-TCP通信","TCP 通信","19.1.4",19010400,{"path":2982,"stem":2983,"title":2984,"date":2654,"chapter":2985,"chapterSort":2986,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-5-udp-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-5-UDP通信","UDP 通信","19.1.5",19010500,{"path":2988,"stem":2989,"title":2990,"date":2654,"chapter":2991,"chapterSort":2992,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-6-ji-qi-ren-gong-cheng-xie-fa-yu-ros2-ji-cheng","wiki/2023-10-05-Cplusplus教学/ch19-1-6-机器人工程写法与ROS2集成","机器人工程写法与 ROS2 集成","19.1.6",19010600,{"path":2994,"stem":2995,"title":2996,"date":2654,"chapter":2997,"chapterSort":2998,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-boost-asio-yi-bu-io-ku","wiki/2023-10-05-Cplusplus教学/ch19-1-Boost.Asio异步IO库","Boost.Asio异步IO库","19.1",19010000,{"path":3000,"stem":3001,"title":3002,"date":2654,"chapter":3003,"chapterSort":3004,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-2-eigen-xian-xing-dai-shu-ku","wiki/2023-10-05-Cplusplus教学/ch19-2-Eigen线性代数库","Eigen线性代数库","19.2",19020000,{"path":3006,"stem":3007,"title":3008,"date":2654,"chapter":3009,"chapterSort":3010,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-3-opencv-ji-suan-ji-shi-jue-ku","wiki/2023-10-05-Cplusplus教学/ch19-3-OpenCV计算机视觉库","OpenCV计算机视觉库","19.3",19030000,{"path":3012,"stem":3013,"title":3014,"date":2654,"chapter":3015,"chapterSort":3016,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-4-pcl-dian-yun-ku","wiki/2023-10-05-Cplusplus教学/ch19-4-PCL点云库","PCL点云库","19.4",19040000,{"path":3018,"stem":3019,"title":3020,"date":2654,"chapter":3021,"chapterSort":3022,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-5-sophus-li-qun-li-dai-shu-ku","wiki/2023-10-05-Cplusplus教学/ch19-5-Sophus李群李代数库","Sophus 李群李代数库","19.5",19050000,{"path":3024,"stem":3025,"title":3026,"date":2654,"chapter":3027,"chapterSort":3028,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-chang-yong-ku","wiki/2023-10-05-Cplusplus教学/ch19-常用库","常用库学习","19",19000000,{"path":3030,"stem":3031,"title":3032,"date":2654,"chapter":3033,"chapterSort":3034,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang","wiki/2023-10-05-Cplusplus教学/ch2-数据类型与数据存放","数据类型与数据存放","2",2000000,{"path":3036,"stem":3037,"title":3038,"date":2654,"chapter":1120,"chapterSort":3039,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch3-shu-ru-shu-chu","wiki/2023-10-05-Cplusplus教学/ch3-输入输出","输入输出",3000000,{"path":3041,"stem":3042,"title":3043,"date":2654,"chapter":1097,"chapterSort":3044,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch4-yun-suan-fu","wiki/2023-10-05-Cplusplus教学/ch4-运算符","运算符",4000000,{"path":3046,"stem":3047,"title":3048,"date":2654,"chapter":655,"chapterSort":3049,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch5-cheng-xu-liu-cheng-jie-gou","wiki/2023-10-05-Cplusplus教学/ch5-程序流程结构","程序流程结构",5000000,{"path":3051,"stem":3052,"title":3053,"date":2654,"chapter":3054,"chapterSort":3055,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch6-shu-zu","wiki/2023-10-05-Cplusplus教学/ch6-数组","数组","6",6000000,{"path":3057,"stem":3058,"title":3059,"date":2654,"chapter":3060,"chapterSort":3061,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch7-han-shu-yu-tou-wen-jian","wiki/2023-10-05-Cplusplus教学/ch7-函数与头文件","函数与头文件","7",7000000,{"path":3063,"stem":3064,"title":3065,"date":2654,"chapter":3066,"chapterSort":3067,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch8-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch8-指针","指针","8",8000000,{"path":3069,"stem":3070,"title":3071,"date":2654,"chapter":3072,"chapterSort":3073,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":2661},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch9-jie-gou-ti-yu-gong-yong-ti","wiki/2023-10-05-Cplusplus教学/ch9-结构体与共用体","结构体与共用体","9",9000000,{"path":2657,"stem":3075,"title":3076,"date":2654,"chapter":2662,"chapterSort":3077,"docKey":2656,"docRoot":2657,"docTitle":2658,"isWikiDoc":179,"isWikiIndex":179},"wiki/2023-10-05-Cplusplus教学/index","C/C++教程",0,{"variants":3079},[3080,3083,3086,3089,3092],{"path":3081,"localeSlug":3082,"i18nKey":2660},"/en-us/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi","en-us",{"path":3084,"localeSlug":3085,"i18nKey":2660},"/zh-hant/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi","zh-hant",{"path":3087,"localeSlug":3088,"i18nKey":2660},"/zh-hk/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi","zh-hk",{"path":3090,"localeSlug":3091,"i18nKey":2660},"/zh-tw/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi","zh-tw",{"path":2651,"localeSlug":2665,"i18nKey":2660},[3081,2663,3084,2663,3087,2663,3090,2663,2651,2663],1780663032602]