Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
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;
  main()
  {
    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.

 

 

Sitemap