Самая, на мой взгляд, полезная книга по С++, ориентированная на публику, которая как-то програмирует на С++, и хочет делать это намного лучше. Есть как и в печатном варианте, так и в форматах HTML и PDF (свободно скачиваются).
Для константного объекта нельзя вызывать методы, которые не-const. Очень простое правило. Константный метод не может изменять содержимое объекта, если они не mutable, не может вызывать неконстантные методы. Для отмены константности есть ровно один способ: const_cast<>().