У меня есть unordered_map объектов. Каждый объект, в своем деструкторе, просматривает неупорядоченную карту, чтобы найти другие объекты, а затем настраивает эти другие объекты. Это не удастся, если другие объекты являются объектами зомби, но если другие объекты полностью удалены из unordered_map, проблем нет.Порядок уничтожения в unordered_map
Мои вопросы:
- делает эту работу, если я стираю() объект, и его деструктор пытается искать себя в неупорядоченном карте? В частности, первый вызванный деструктор или первый объект, удаленный из неупорядоченного_мапа, или нет гарантии?
- это работает, если unordered_map уничтожен? В частности, будет ли unordered_map находиться в правильном состоянии, когда вызывается каждый отдельный деструктор?
Просто не делайте этого? –
Просто проверьте это с некоторыми заявлениями о печати? –
стирает только аннулирует свой собственный итератор, но я не думаю, что вы можете предположить, что вы можете найти свое «я» на карте после вызова деструктора.Также не предполагайте, что если вы протестируете и работаете с одной реализацией, он будет работать с другой реализацией стандартной библиотеки. Как сказал @KerrekSB - Не делай этого –