Use replace() to replace elements in a vector : replace « STL Algorithms Modifying sequence operations « C++ Tutorial






#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

template<class InIter>
void show_range(const char *msg, InIter start, InIter end);

int main()
{
  vector<char> v;
  vector<char>::iterator itr, itr_end;

  for(int i=0; i<5; i++) {
    v.push_back('A'+i);
  }
  for(int i=0; i<5; i++) {
    v.push_back('A'+i);
  }
  show_range("Original contents of v:", v.begin(), v.end());
  
  // Replace B's with X's
  replace(v.begin(), v.end(), 'B', 'X');

  show_range("v after replacing B with X:", v.begin(), itr_end);

  return 0;
}

template<class InIter>
void show_range(const char *msg, InIter start, InIter end) {
  InIter itr;

  cout << msg << endl;
  for(itr = start; itr != end; ++itr){
    cout << *itr << endl;
  }
}








24.13.replace
24.13.1.Use the generic replace algorithm to replace all occurrences of R by S
24.13.2.Use std::replace to replace elements in vector by value
24.13.3.Use replace to replace all elements with value 6 with 42
24.13.4.Use replace to replace all elements with value less than 5 with 0
24.13.5.Use replace() to replace elements in a vector
24.13.6.Using 'std::replace' to replace value 5 by 8
24.13.7.Replace values in vector with another value with replace()