Nitpicking: haven't ever understood const return values (when not references), i.e. dictating what the caller of a method should do with the object it owns. Also from consistency pov the bool/int getters are not returning consts.