🏆
Задача на выходные: string_view vs string в APIПеред тобой два варианта API логгера. Выбери лучший и обоснуй. Нет единственно верного ответа — важна аргументация.
#include <string>
#include <string_view>
// Вариант А
class LoggerA {
public:
void log(const std::string& msg);
void setPrefix(const std::string& prefix);
std::string getLastMessage() const;
};
// Вариант Б
class LoggerB {
public:
void log(std::string_view msg);
void setPrefix(std::string_view prefix);
std::string_view getLastMessage() const;
};
// Контекст использования:
// 1. log() вызывается тысячи раз в секунду
// 2. setPrefix() — один раз при старте
// 3. getLastMessage() — для диагностики
// 4. Логгер хранит последнее сообщение внутри
✏️
Напиши в комментариях: какой метод в каком варианте правильный, а какой — нет. Предложи «идеальный»
LoggerC.
📍Навигация: Вакансии • Задачи • СобесыБиблиотека C/C++ разработчика#константная_правильность