Однако, я думаю, что проблема немного в другом.
Нет, это не так.Учитывая ваше последнее редактирование:
Не определено, какой объект уничтожается первым, t
или Test::collection
.Когда Test::collection
уничтожается первым, ваш деструктор Test::~Test()
вызывает clear()
для набора, который уже мертв.В каком бизнесе этот деструктор все равно портит статические объекты?Другие экземпляры Test
все еще могут присутствовать и полагаться на статические данные членов.
Как насчет: Просто не делайте этого ??Вам уже говорили это несколько раз.