【发布时间】:2025-12-15 12:45:01
【问题描述】:
我想用string.reserve(1000) 传递一个字符串,并确保在我将它传递到不同的结构时分配内存。有没有办法在每次实例化后不显式执行此操作?
我想避免这样做:
struct Prefix{
std::string path;
};
int main() {
std::string path = "hel";
path.reserve(1000);
std::cout << path.capacity() << "\n"; // 1000
Prefix x = {path};
std::cout << x.path.capacity() << "\n"; // 15
x.path.reserve(1000);
x.path += somestring;
Prefix y = {x.path};
std::cout << y.path.capacity() << "\n"; // 15
y.reserve(1000);
}
【问题讨论】:
标签: c++ string memory-management