Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2017, 12:02   #1
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию Использование константной ссылки как геттера.

Я вот подумал, что можно использовать константные ссылки как геттеры на приватные поля. Вот, например, такой код:
Код:
class check{
private:
    int _x;
public:
    const int& x = _x;
    void setX(int v){
        _x = v;
    }
};
В результате мы можем читать значение x, но не можем его менять, что и требуется от геттера.

Вопрос: насколько такое применение константных ссылок правильно? Ни разу такого кода не видел.
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Старый 18.09.2017, 12:28   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

1. Вы фактически завели паблик поле класса, обычно больше стараются выставлять методы.
2. Ваш "геттер" не переопределишь нормально.
3. В функцию геттер проще поставить бряк для отладки или логирование дописать.
p51x на форуме Ответить с цитированием
Старый 18.09.2017, 14:06   #3
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

И еще размер объектов этого класса увеличился.
Croessmah вне форума Ответить с цитированием
Старый 19.09.2017, 21:46   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от New man Посмотреть сообщение
Вопрос: насколько такое применение константных ссылок правильно?
совсем не правильно.
у такого подхода одни минусы,
и ни единого плюса в сравнении с классическими геттерами.

фатальный минус:
избыточная ссылка увеличивает размер объекта.
жрем память буквально на ровном месте.
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать слайдер кликабельным? Или как добавить к слайдеру ссылки? Ленка32434 HTML и CSS 2 23.01.2017 11:34
Как сделать слайдер кликабельным? Или как добавить к слайдеру ссылки? Ленка32434 Помощь студентам 0 25.06.2016 21:07
Использование параметров ячейки во вновь созданной ссылки на данную ячейку offza Microsoft Office Excel 2 20.07.2011 13:07
как написать код ссылки voldemen HTML и CSS 7 30.04.2010 11:49
Использование карты (рисунка) в качестве ссылки Yaga HTML и CSS 5 01.04.2009 01:40