Выберите контейнер из библиотеки, отличной от стандартной. Ознакомьтесь с документацией и выясните, какие гарантии безопасности исключений он предоставляет. Испытайте этот контейнер, чтобы выяснить, насколько он устойчив к исключениям, генерируемым при выделении памяти, а также кодом, предоставляемым пользователем. Сравните с соответствующим контейнером стандартной библиотеки.
Что ж я пока сторонний контейнер никакой не знаю, а что бы его разобрать это нужно время потратить. Мы просто теоретически попробуем выяснить как определять гарантии. От если после использования контейнера элементы которые в нем хранятся находятся в действительном состоянии при вызове допустим исключения, то значит базовая гарантия, а если еще и все элементы в контейнере при неудавшейся операции какой нить типа insert() либо erase() при генерации исключения находятся в том состоянии в котором они были до использования, то это говорит о том что дается сильная гарантия.
Методы просты просто построить тестовый объект и в нем поставить условие при котором будет генерироваться исключение. Другими словами просто нужно генерировать исключение в разных операциях контейнера и смотреть на состояние элементов контейнера, да и самого контейнера, что с ними происходит.
Я еще раз повторюсь, я в реале сравнивать и тестить ничего не буду потому что это все трудоемкий процесс да и я не знаю какой нить другой контейнер отличный от стл-ловских.
[youtube]https://www.youtube.com/watch?v=UY3_IswN8Z0[/youtube]