gpt4 book ai didi

c++ - 如果新大小小于或等于旧大小,标准是否保证 std::string::resize 不会重新分配内存?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:03:35 26 4
gpt4 key购买 nike

我需要经常将字符串设为空,然后在其中添加一些字符。std::string::clear() 可能重新分配std::string::resize(0) 是否重新分配?标准的话并没有引起任何注意。

最佳答案

我认为最好的答案是 http://en.cppreference.com/w/cpp/string/basic_string/clear 的“注释”部分.

Unlike for std::vector::clear, the C++ standard does not explicitly require that capacity is unchanged by this function, but existing implementations do not change capacity.

如果容量不变,那几乎肯定意味着不会调用任何分配或释放函数。这可能是您能做的最好的事情,而不是查看您关心的每一个实现。

关于c++ - 如果新大小小于或等于旧大小,标准是否保证 std::string::resize 不会重新分配内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16462901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com