在MSDN中对erase的声明为basic_string& erase(size_type p0=0,size_type n=npos);为什么这里第二个参数的默认值是npos,而不是_Len,我看过一个string变量内部的数据成员,npos是一个巨大的不知所云的数,而_Len才是整个字符串所包含的字符数,而erase函数如果不指明第二个参数,将删除从索引的指定开始位置到字符串末尾的所有字符,照这么来说,第二个参数的默认值应该为字符串长度才对啊。
弑天下
九州编程
相关分类