gpt4 book ai didi

c++ - 缩短字符串时 std::string::resize 和 std::string::erase 之间的区别

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

当缩短 std::string 时,基本上有两种可能性:string.resize(length)string.erase(length) .

既然我们知道字符串会变小,那两者有什么区别呢?

最佳答案

  1. resize必须检查 length > currentlength < current - 它的行为取决于比较的结果。 erase总是减少字符串的长度
  2. 在异常安全方面存在差异:
    • resize : 强保证:如果抛出异常,则字符串没有变化。 (来自 here)
    • erase : C++98 - 等于 resize ; C++14 - 函数没有抛出版本(来自 here)

关于c++ - 缩短字符串时 std::string::resize 和 std::string::erase 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33918394/

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