在C++中,realloc()
函数用于调整已分配内存的大小。它是C语言的一部分,通常用于动态地重新分配内存。然而,在C++中,更推荐使用std::vector
或std::string
等容器类来处理动态内存分配。
std::string
是C++中的字符串类,它可以自动调整大小以适应字符串的长度。要调整字符串的大小,可以使用resize()
或reserve()
成员函数。
例如,以下代码演示了如何使用std::string
调整字符串的大小:
#include<iostream>
#include<string>
int main() {
std::string str = "Hello, world!";
std::cout << "Original string: "<< str<< std::endl;
// 调整字符串大小
str.resize(10);
std::cout << "Resized string: "<< str<< std::endl;
// 预留字符串大小
str.reserve(20);
std::cout << "Reserved string: "<< str<< std::endl;
return 0;
}
输出:
Original string: Hello, world!
Resized string: Hello, wor
Reserved string: Hello, wor
在这个例子中,我们首先创建了一个包含"Hello, world!"的字符串。然后,我们使用resize()
将字符串大小调整为10,这将删除字符串末尾的字符。接下来,我们使用reserve()
预留了20个字符的空间,但字符串的内容并未改变。
总之,在C++中,使用std::string
和相关容器类处理字符串和内存分配比使用realloc()
更推荐。
领取专属 10元无门槛券
手把手带您无忧上云