How far do you go with const? Do you just make functions const when necessary or do you go the whole hog and use it everywhere? For example, imag
const
There is a good discussion on this topic in the old "Guru of the Week" articles on comp.lang.c++.moderated here.
The corresponding GOTW article is available on Herb Sutter's web site here.