У меня очень простой вопрос, но, к сожалению, я не могу сам найти ответ.
Предположим, у меня есть некоторая структура данных, которая содержит настройки и действует как карта настроек.
У меня есть метод GetValue(const std::string& name)
, который возвращает соответствующее значение.
Теперь я пытаюсь выяснить - какой подход с возвратом стоимости был бы лучше. Очевидное означает, что мой метод действует как
std::string GetValue(const std::string& name) const
и вернуть копию объекта и положиться на RVO в значениях производительности.
Другой будет означать создание двух методов
std::string& GetValue(...)
const std::string& GetValue(...) const
, что обычно означает дублирование кода или использование некоторых злых констант, дважды использующих одну из этих подпрограмм.
#
Q
Что бы вы выбрали в такой ситуации и почему?