7.3. A String Class

String objects are safer and easier to use than C library routines for character string manipulation. Consider the following.

extern char *s1, *s2, *s3; 
strcpy(s1, strcat(s2, s3));      // concatenate s3 to s2, copy to s1

Unless you are careful to provide NULL-terminated ('\0') character strings and enough memory for strcpy() and strcat() to perform their operations, programs may behave strangely because of corrupt character strings. A String class with overloaded operators is a simpler and safer approach.

extern String s1, s2, s3; 
s1 = s2 += s3;                   // concatenate s3 to s2, copy to s1

String objects replace character pointers, and String operators (assignment with = and update with +=) provide the functionality of C library calls. ...

Get Navigating C++ and Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.