There's nothing wrong with a const_cast when used with the "implement const getter in terms of non-const getter" idiom. Scott Meyers uses it in Effective C++.