Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: C++
Expertise: Intermediate
Feb 22, 2000

The replace() Algorithm

Another useful STL algorithm is replace(), which is defined in the standard header <algorithm> 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 <algorithm>
  #include <string>
  #include <vector>
  using namespace std;
    vector <string> 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
Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date