Examples
Example: An implementation of += for strings.
When concatenating strings, it is useful to know the length in advance so as to allocate memory only once.
String& String::operator+=( const String& rhs ) {
// … implementation …
return *this;
}
String operator+( const String& lhs, const String& rhs ) {
String temp; // initially empty
temp.Reserve( lhs.size() + rhs.size() ); // allocate enough memory
return (temp += lhs) += rhs; // append the strings and return
}
 |