У живого объекта проверочная цифра правильная, а у умершего
bool is_alive
и не надо какую-то защиту с канарейками городить. Ну или использовать первые несколько байт для пометки о валидности объекта, а остальные реинтерпритировать как ваш объект, тогда проверка будет как бы отдельно от логики самого объекта.QModelIndex слишком мал, чтобы держать умный указательНе совсем понимаю контекст.
Объект может быть потёрт не только деструктором, но и совершенно посторонним кодом.