У меня есть следующая вспомогательная функция, которая принимает строковое представление и возвращает поиск в unordered_map
:
int Scanner::getOpCount(std::string_view op) {
auto itr = Parser::opTable.find(op);
}
// in another file:
const static std::unordered_map<std::string, OpEntry> opTable;
. Это не скомпилируется, потому что find
ожидает строковый параметр, поэтомуЕдинственное решение, которое я нашел (поправьте меня, если я ошибаюсь), это обернуть op
в string{op}
.Однако меня беспокоит то, что std::string_view
предназначался для облегчения передачи строки, но если мне нужно построить строку из нее независимо от тела функции, то есть ли какое-либо преимущество в определении getOpCount
с помощью string_view
параметр?Или это эквивалент, если не медленнее, const std::string&
?