Quote:
About the Author
Stephen C. Dewhurst was among the first users of C++ at Bell Labs. He has more than eighteen years of experience in applying C++ to problem areas such as compiler design, derivative securities trading, e-commerce, and embedded telecommunications. He is the coauthor of Programming in C++ (Prentice Hall, 1989), a contributing editor for C/C++ Users Journal, and a former columnist for C++ Report. Steve is also the author of two C++ compilers and numerous articles on compiler design and C++ programming techniques.
I can fully understand why you prefer the setter to return a value. The problem, as I see it, is that other people might expect it to return a value too, but a different one. (If a setter returned a value, I, for example, would expect it to be the old one.) Thus, in code that may be used by a variety of people (and I think you should always code with this possibility in mind), the best practice is to avoid this ambiguity by returning nothing.