У меня есть метод, который принимает const ref к набору. Я хочу назвать это и м.б. передать набор к нему. Если у меня есть это. Итак, сначала я вижу, есть ли у меня набор:
const auto& it = mapOfSets.find("token");
if (it != std::end(mapOfSets)) {
myFunction(it.second);
} else {
MySetType emptySet;
myFunction(emptySet);
}
Что такое идиоматический способ сделать это? Мне не нравится вышеупомянутое, потому что вызов myFunction повторяется дважды, и есть несколько других аргументов, поэтому есть некоторое ненужное дублирование кода.
Программист на C во мне просто хочет изменить функцию так, чтобы она принимала указатель и передавала nullptr, если set не найден, но я чувствую, что C ++ теперь избегает указателей? ..