Есть ли способ не создавать строковый объект при запросе карты со строковым ключом? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Есть ли способ не создавать строковый объект при запросе карты со строковым ключом? [дубликат]

Сообщение Anonymous »

Предположим, у меня есть карта или unordered_map с типами шаблонов . Теперь я хочу узнать, содержит ли контейнер ключ «some_name». Поэтому я использую функцию .find, которая принимает константу std::string&, однако нет необходимости выполнять динамическое распределение кучи, например, когда вы создаете объект std::string, который в этом случае должен быть создан, когда я передаю " some_name" в функцию.
Я думал о сохранении ключей как string_views, но не думаю, что это хорошая идея, поскольку считаю, что записи карты должны хранить копии строки. Однако, поскольку функция поиска строго принимает std::string&, что я могу с этим поделать? Рассмотрим как случаи, когда у меня есть строковый литерал, как в примере, который я привел выше, так и уже существующие строки, такие как представления строк, указатели на строки или что-то еще, и я не хочу создавать std::string.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ith-string
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»