The replace() Algorithm

The replace() Algorithm

Another useful STL algorithm is replace(), which is defined in the standard header and has the following prototype:

   void replace (ForwardIterator start,                         ForwardIterator end,                         const T & old_value,                        const T & new_value);

The first and the second arguments mark the sequence’s beginning and end, respectively. replace() changes every occurrence of old_value in the sequence to new_value.

The following example uses replace() to replace every occurrence “NT” by “Win2000” in a vector of strings. You can apply replace() to built-in arrays, too. In the second example, replace() scans an array of integers and replaces every 1 by 5:

   #include   #include   #include   using namespace std;  main()  {    vector  vs;      // fill vector    vs.push_back ("Unix");    vs.push_back ("VMS");    vs.push_back ("NT");      // replace every occurrence of "NT" by "Win2000"    replace (vs.begin(), vs.end(), "NT", "Win2000");      // replace() can be applied to built-in arrays too    int n [] = {1, 0, 2, 1};    replace( n, n + 4, -1, 5); // replace every 1 by 5}


Share the Post: