String C++ Tutorial

#include 
#include 
using namespace std;
bool search_and_replace(string &str, const string &oldsubstr,const string &newsubstr);
int main(){
  string str = "This is a test. So is this.";
  while(search_and_replace(str, "is", "was"))
   cout << str << endl;
  cout << endl;
  string oldstr("So");
  string newstr("So too");
  cout << "Replace 'So' with 'So too'" << endl;
  search_and_replace(str, oldstr, newstr);
  cout << str << endl;
  return 0;
}
bool search_and_replace(string &str, const string &oldsubstr, const string &newsubstr) {
  string::size_type startidx;
  startidx = str.find(oldsubstr);
  if(startidx != string::npos) {
    str.replace(startidx, oldsubstr.size(), newsubstr);
    return true;
  }
  return false;
}