Есть ли преимущество использования одного перед другим:
класс Foo { публика: const int и get() const { // здесь что-то вернуть мойИнт; } int& получить() { return const_cast(static_cast(this)->get()); } }; Или
класс Foo { публика: int& получить() { // здесь что-то вернуть мойИнт; } const int и get() const { return const_cast(this)->get(); } }; Я использовал только первый вариант, но только что видел, как где-то использовался второй, поэтому мне интересно.
Комментарий // здесь может представлять собой нетривиальную проверку, например, получение индекса таблицы, чтобы вернуть ссылку на член таблицы (например: myInt = myTable[myComputedIndex]
