170 похожих чатов

В msvc 2019 unordered_* move-c-tor-ы не помечены как noexcept. Как

в стандарте (почему кстати?). В libstdc++ 11 они определены как = default;. И неявно являются noexcept(true). Из-за этого некоторые трэйты дают разный результат на разных платформах. Ошибка ли это в libstdc++ определить mov-c-tor-ы как noexcept (неявно)?

4 ответов

3 просмотра

Ошибка не является технической, так как стандарт явно не требует, чтобы move-конструкторы unordered_* были объявлены как noexcept. Это может быть решением, которое приняла команда разработчиков libstdc++, чтобы обеспечить совместимость с предыдущими версиями и/или другими компиляторами. Однако, это может вызывать разные результаты для трейтов на разных платформах, что может быть нежелательным. Если разница в поведении вызывает проблемы в вашем коде, вы можете явно указать, что move-конструкторы unordered_* noexcept, используя специальные трейты, такие как std::is_nothrow_move_constructible или std::is_nothrow_move_assignable, чтобы получить одинаковое поведение на разных платформах.

unordered_map& operator=(unordered_map&&) noexcept(allocator_traits<Allocator>::is_always_equal::value && is_nothrow_move_assignable_v<Hash> && is_nothrow_move_assignable_v<Pred>); красивую ссылку дать сложно. ищите noexcept в http://eel.is/c++draft/unord

Похожие вопросы

Обсуждают сегодня

коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
А если изначально бот работал так : есть сайт онлайн школы. У каждого ученика свой кабинет. Где он авторизуется по своим данным. И уже в кабинете, на самом сайте делает оплату...
Денис 💡 Фрилансер
13
А что ты вообще делаешь ?
Yesgoter
13
На работе пишем распределенное приложение, у которого сотни, если не тысячи настроек. Конфиги написаны на xml, расположены на разных хостах и должны быть согласованы друг с др...
Aleksandr Druzhinin
5
Всем привет 🙂 Какая-то непонятная проблема у меня с видео, раньше такого не было. Загружаю видео с гугл диска именно в видео mp4 и меняю ссылку как положено вот она: https://d...
Ксюша|Верстка на Тильде|Дизайн 🦥
6
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
18
средствами IBX как-то можно выполнить запрос insert ... returning?
Igor
31
Подскажите, почему в правом коде с1 дополняется до 8байт, а не до 4?
Sergey
9
Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
что это и почему оно? executor.start_polling(bot, skip_updates=True, on_startup=on_startup, File "/usr/local/lib/python3.10/dist-packages/aiogram/utils/executor.py", line 4...
𐌍𐌄 ᕓ𐌄𐌓𐌌Ꝋ𐌓𐌄
2
Карта сайта