Как правильно и грамотно получать значение приватного поля через геттер? C++

Допустим есть класс с приватным полем, которое я хочу вернуть через геттер. Предположим, что приватное поле - это не фундаментальный тип данных и занимает много памяти, т.е. возвращение копированием не подходит. Можно было бы вернуть указатель:

auto get_value() -> MyClass* {
    return &this->private_value;
}

Но я читал, что возвращать указатели на приватные поля - плохая практика. Как поступить в таком случае?


Ответы (1 шт):

Автор решения: Anton Shchyrov

Вернуть константную ссылку

const CMyStruct & CMyClass::get_value() const {
  return this->private_value;
}
→ Ссылка