这些行如何执行

时间:2017-02-19 06:18:41

标签: c++

伙计们,我有一个问题需要理解这三行代码。我正在做的是采用相同构造函数参数的三个string对象。但面对一个问题,以了解代码如何在这三行中工作。我知道了 begin()函数返回迭代器或引用容器第一个元素的const_iterator end()函数返回一个迭代器或const_iterator,引用容器结束后的下一个位置。
erase()函数从容器中删除一个或多个元素 但是remove()函数做了什么?

这是我的代码:

#include <iostream>
#include<string>
#include<algorithm>

using namespace std;




int main() {

    string str = "<tag1 value = \"HelloWorld\">";
    string str2 = "<tag1 value = \"HelloWorld\">";
    string str3 = "<tag1 value = \"HelloWorld\">";


    remove(str.begin(), str.end(), '\"');

    str2.erase(remove(str2.begin(), str2.end(), '\"'));

    str3.erase(remove(str3.begin(), str3.end(), '\"'),str3.end());


    cout << str << endl;

    cout << str2 << endl;

    cout << str3 << endl;


}

输出:

<tag1 value = HelloWorld>">
<tag1 value = HelloWorld>>
<tag1 value = HelloWorld>

0 个答案:

没有答案