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

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

鉴于我们知道字符串会变小,两者之间有什么区别?

最佳答案 >调整大小必须检查长度是否>电流或长度 >异常安全存在差异:

> resize:强保证:如果抛出异常,则字符串中没有变化. (自here起)
>擦除:C 98 – 等于调整大小; C 14 – 没有抛出版本的功能(从here开始)

点赞