Optimize class string in stl. For example, a is a string, b is a string with value "hello". When the programmer writes "a = b", a becomes "hello" and b is still "hello", but a does not allocated memory for efficiency. Then the programmer calls "b.uppercase". b become "HELLO" while a is still "hello". That is string behaves exactly like the one from stl but allocate new memory as late as possible.
Check out your Company Bowl for anonymous work chats.