📅  最后修改于: 2023-12-03 14:39:53.235000             🧑  作者: Mango
string.reserve()
函数是C++中string类的一个成员函数,用于在不改变字符串内容的情况下,预留一定的内存空间,可以提高字符串的性能。
void reserve(size_t n);
n
:要预留的内存空间的大小。无。
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
s.reserve(10); // 预留10个字符的空间
cout << s.capacity() << endl; // 输出当前的容量,应该为10
s = "hello";
cout << s.capacity() << endl; // 输出当前的容量,应该为10
return 0;
}
reserve()
函数并不会改变字符串当前的长度,只是在内部增加了一些未使用的内存。reserve()
函数时,如果预留的空间小于等于当前的容量,则不会分配新的内存,并且当前的容量不会改变。reserve()
函数时,如果预留的空间大于当前的容量,则会重新分配内存,并且当前的容量会改变。