string::substr

2020-02-23  本文已影响0人  shelldon1024

一直以为 C++ string::substr 是接收左闭右开区间作为参数,原来不是,第二个参数是子串的长度!花了很多时间调试问题才发现误用了这个函数,血的教训啊 o(╥﹏╥)o

string substr (size_t pos = 0, size_t len = npos) const;

在泛型算法中经常用到这两类风格的形参,一种是左右两个端点表示左闭右开区间,另一种是左起点右长度。一般来说通过函数命名可以推断出用的是哪种风格的输入参数。

建议 string 可以提供两个版本的返回子串的成员函数:
string::substr
string::subnstr

上一篇下一篇

猜你喜欢

热点阅读