Я бы хотел, чтобы std :: unordered_set :: insert() не выбрасывал исключения. Использует ли std :: unordered_set :: reserve() эту цель, если я зарезервировал максимальное количество элементов, которые я когда-либо вставлял в unordered_set?Можно ли исключить unordered_map :: insert из метаданных?
1
A
ответ
0
К сожалению, reserve() может использоваться только для управления, когда будет передел, поэтому итераторы останутся действительными, по крайней мере, до тех пор, пока не будет вставлено зарезервированное количество элементов. Вставка может по-прежнему бросать bad_alloc (с распределителем по умолчанию) в пределах зарезервированного диапазона.
Для гарантии nothrow единственной возможностью было бы знать заранее, какие ключи могут быть вставлены, а затем вставить их в точку, где исключение можно легко обрабатывать.
Смежные вопросы
- 1. std :: unordered_map insert with hint
- 2. Можно ли исключить MessageQueueException?
- 3. Можно ли исключить исключение?
- 4. C++ unordered_map insert в вектор
- 5. Можно ли исключить класс из самого класса?
- 6. Можно ли исключить конструктор из регистрации автозапуска?
- 7. Можно ли исключить цель из сборки NAnt?
- 8. Можно ли исключить превью из ManipulationEnabled?
- 9. Можно ли исключить ссылки из отслеживания
- 10. Можно ли исключить исключение из асинхронных методов?
- 11. Можно ли исключить StaleStateObjectException из одного потока?
- 12. Можно ли исключить вложенную зависимость?
- 13. std :: unordered_map insert error shared_ptr C++
- 14. Почему unordered_map «find + insert» быстрее, чем «insert + check for success»?
- 15. C++ unordered_map SIGSEGV on find() или insert()
- 16. boost :: bind и insert of boost :: unordered_map
- 17. Можно ли исключить GC для делегатов?
- 18. Возврат unordered_map внутри unordered_map из функции
- 19. Перемещение ключей из unordered_map
- 20. Можно ли исключить экземпляр класса RAII «анонимно»?
- 21. php, можно ли исключить 2 уровня вверх?
- 22. Можно ли исключить хранимую процедуру из транзакции в MS SQL?
- 23. Можно ли исключить ярлык в раскадровке из сгенерированного файла .strings?
- 24. Можно ли исключить функции/пространства имен из: перезагрузить на Repl?
- 25. Можно ли исключить исключение из [NSObject removeObserver: forKeyPath:]?
- 26. Rails: Можно ли исключить записи из всех запросов?
- 27. Можно ли исключить цикл for из этого фрагмента кода PHP?
- 28. Можно ли исключить транзакцию из голосования внутри транзакции?
- 29. Можно ли исключить метод из другого приложения в Java?
- 30. Можно ли исключить исключение из памяти в java?
Нет, это не так. Кроме того, 'unordered_map' или' unordered_set'? –
Чтобы не допустить исключения, вам нужно написать идеальный код. Исключения существуют по важным причинам (некоторые из них могут быть не под вашим контролем), и вам необходимо их обработать. Если вы пытаетесь вставить элемент в набор, и вставка не удалась, вы должны выяснить, почему он терпит неудачу. Если вы действительно хотите предотвратить исключения, вам нужно будет проверить все возможные сценарии, которые вы можете придумать, и обработать их изящно в своем коде. Даже тогда вам просто нужно надеяться, что в вашей программе или в системе пользователя ничего не пойдет не так. – blh83