📜  C++ string.reserve()函数(1)

📅  最后修改于: 2023-12-03 14:39:53.235000             🧑  作者: Mango

C++ string.reserve()函数

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() 函数时,如果预留的空间大于当前的容量,则会重新分配内存,并且当前的容量会改变。