У меня есть код, подобный этому:Как избежать такого рода повторения
#include <string>
class A{
public:
std::string &get(){
return s;
}
const std::string &get() const{
return s;
}
std::string &get_def(std::string &def){
return ! s.empty() ? s : def;
}
// I know this might return temporary
const std::string &get_def(const std::string &def) const{
return ! s.empty() ? s : def;
}
private:
std::string s = "Hello";
};
мне интересно, есть простой способ, чтобы избежать повторения кода в ГЭТ (функции)?
раздражающего право? Я соблазн создать макрос с константой или ничего, но это не очень похоже на C++. –
У меня даже нет возможности повторно использовать функции без const_cast или сделать s изменяемым – Nick
Ew @ right-aligned ampersands;) –