小编Sou*_*wal的帖子

使用remove从字符串问题中删除字符实例

我在从字符串中删除字符的所有实例时遇到问题.由于字符的删除基于循环条件,因此C++字符串函数擦除(或删除)产生的结果是不同的.看看代码:

int main()
    {
        string s="beabeefeab";
        string s2=s;
        cout<<"s[0] "<<s[0]<<endl;
        s.erase(remove(s.begin(),s.end(),'b'),s.end());   //statement 1
        cout<<s<<endl;
        s=s2;
        s.erase(remove(s.begin(),s.end(),s[0]),s.end());  //statement 2
        cout<<s<<endl;
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

声明1和声明2产生的输出应该相同但结果是不同的.怎么样和为什么?

c++ c++14

1
推荐指数
1
解决办法
68
查看次数

标签 统计

c++ ×1

c++14 ×1