Go back to Richel Bilderbeek's homepage.
Go back to Richel Bilderbeek's C++ page.
The value of a return type that is declared const
cannot be changed. This is especially useful when giving a reference
to a class's internals (see example #0), but can also prevent
rarer errors (see example #1).
Use const whenever possible [1-7].
Exercises Exercise 5: the many types of const is an exercise about the many types of const.
Example #0
Example #1
The code (using Qt Creator) above does compile and print
text to the screen. If the const that is commented out is activated, the code will not
compile anymore. Due to this, also use a const
return type (note, however, that [8] advises against this advice).
- Bjarne Stroustrup. The C++ Programming Language (3rd edition). ISBN: 0-201-88954-4 7.9.3: 'Use const extensively and consistently'
- Scott Meyers. Effective C++ (3rd edition).ISBN: 0-321-33487-6. Item 3: 'Use const whenever possible'
- Jarrod Hollingworth, Bob Swart, Mark Cashman, Paul Gustavson. Sams C++ Builder 6 Developer's Guide. ISBN: 0-672-32480-6. Chapter 3: 'Understand and use const in your code'
- Jesse Liberty. Sams teach yourself C++ in 24 hours. ISBN: 0-672-32224-2. Hour 8, chapter 'Const member functions': 'Use const whenever possible.'
- Scott Meyers. Effective C++ (3rd edition). ISBN: 0-321-33487-6. Item 2: 'Prefer consts, enums and inlines to #defines'
- Herb Sutter, Andrei Alexandrescu. C++ coding standards: 101 rules, guidelines, and best practices. ISBN: 0-32-111358-6. Item 15: 'Use const proactively'.
- John Lakos. Large-Scale C++ Software Design. 1996. ISBN: 0-201-63362-0. Chapter 9.1.6: 'Every object in a system should be const-correct'
- John Lakos. Large-Scale C++ Software Design. 1996. ISBN: 0-201-63362-0. Chapter 9.1.9: 'Avoid declaring results returned by value from functions as const'
Go back to Richel Bilderbeek's C++ page.
Go back to Richel Bilderbeek's homepage.
