Элегантное решение для дублирования, константных и неконстантных геттеров? [дубликат]C++

Программы на C++. Форум разработчиков
Гость
Элегантное решение для дублирования, константных и неконстантных геттеров? [дубликат]

Сообщение Гость »


Разве вы не ненавидите это, когда у вас есть

класс Foobar { публика: Something& getSomething(int index) { // большой, нетривиальный кусок кода... вернуть что-либо; } const Something& getSomething(int index) const { // большой, нетривиальный кусок кода... вернуть что-либо; } } Мы не можем реализовать ни один из этих методов вместе с другим, поскольку вы не можете вызвать версию, отличную от const, из версии const (ошибка компилятора) . Для вызова версии const из версии, отличной от const, потребуется приведение типов.

Есть ли действительно элегантное решение этой проблемы, если нет, то какое наиболее близкое к нему?

Вернуться в «C++»