reserve() 为容器预留足够的空间,避免不必要的重复分配。预留空间大于等于字符串的长度。预留空间可以通过capacity()查看。
resize() 调整字符串的大小。如果字符串长度变小,多余的字符会被截掉。若长度变大,可以设置填充的字符。长度可以通过size()查看。
1. reserve()
string str = "April";
str.reserve(20);
str的预留空间为15。
调用函数reserve()后,预留空间变为31。(内存按照(n*16-1)分配)
2.resize()
字符串str的长度变短,多余的字符被裁掉了。
string str = "April";
str.resize(3);
字符串str的长度变长,使用字符 ‘.’填充。(默认填充空字符)
string str = "April";
str.resize(10);