Странно. А как тогда объяснить
- Код: Выделить всё
std::vector bound_armies;
std::vector binder;
std::vector aura_clients;
std::vector aura_sources;
в army? Эти по 16 байт. См. поля, начиная с 0x4F4.
Я думаю, Герои 3 написаны в 6-й студии (хотя, может быть, и в 5-й, но для STL почти нет разницы), а там вектор 16 байт (4 уходит на аллокатор). Если прописать
- Код: Выделить всё
#define _SECURE_SCL 0
#define _HAS_ITERATOR_DEBUGGING 0
то std::vector 2008-й студии отлично накладывается на вектор в Героях 3. И это работает.
Кстати, я уже писал об этом в этой теме: ещё std::deque из 5-й студии отлично накладывается на очередь заклинаний (TSpellQueue). А вот от 2008-й студии уже не подойдёт, как ни крути.