cout << "vector kuo zhan" << endl;
shrink_to_fit:将capacity减少为与size大小相同
capacity:不重新分配内存,容器最多可以保存多少个元素
reserve(n):分配至少能容纳n个元素的内存空间
vector
cout << "size = " << vec.size() << " vec.capacity = " << vec.capacity() << endl;
vec.push_back(90);
vec.push_back(90);
vec.push_back(90);
vec.reserve(2);
cout << "size = " << vec.size() << " vec.capacity = " << vec.capacity() << endl;
vec.reserve(60);
cout << "size = " << vec.size() << " vec.capacity = " << vec.capacity() << endl;
vec.shrink_to_fit();
cout << "size = " << vec.size() << " vec.capacity = " << vec.capacity() << endl;
reserve:不改变容器中元素的数量,仅影响容器预先分配多大的内存空间
cout << "string cao zuo" << endl;
string str1("abcdef ghijk");
string s1 = str1.substr(6);
cout << s1 << endl;
string s2 = str1.substr(1,7);//第一个参数为开始位置,第二个参数为元素个数
cout << s2 << endl;
string str2("aaaaaaaa");
str2.insert(3,4,'b');//在下标为3的位置前插入,4个元素
cout << str2 << endl;
string s3("ccc ddd eee");
str2.insert(0, s3);//在字符串0下标前插入s3
cout << str2 << endl;
str2.assign(s3,2,7);//将str2中的字符替换为s3中下标从2开始的7个字符,没数量则是2以后
cout << str2 << endl;
str2.erase(2,4);//在第三个位置开始删除4个元素,如果没有元素个数则删除到最后
cout << str2 << endl;
string str3("eeeeeeeeeeee");
str3.append("abcdefgh",3);//将参数追加到str3后边,可添加追加的元素数量,没有则追加全部
cout << str3 << endl;
string str4("abcdefghijk");
str4.replace(5,4,"ppp");//将字符串下标为5开始4个字符替换成ppp
cout << str4 << endl;
string str5("wfrghjdkt");
cout << str5.find('g') << endl;//查找g第一次出现的位置
cout << str5.rfind("jd") << endl;;//查找元素最后一次出现的位置,如果为字符串的话,就是字符串匹配。
cout << str5.find_first_of("jzzrhf") << endl;//查找任何一个字符第一次出现的位置。为1,即使f的位置
cout << str5.find_last_of("jzzrhf") << endl;//查找任何一个字符最后一次出现的位置
cout << str5.find_first_not_of("jzzrhf") << endl;//查找第一个不在参数字符串中的字符
cout << str5.find_last_not_of("jzzrhf") << endl;//查找最后一个不在参数字符串中的字符
string str6("123456");
cout << str6.compare(str2) << endl;//字符串比较,可传递参数下标、个数,比较字符串的下标、个数
int num(3456);
string str7 = to_string(num);
double db = stod(str7);
cout << "str7 = " << str7 << endl;
cout << "db = " << db << endl;