Чтобы ответить на ваш вопрос:
'imagine that the ptr points to some memory address which I want to check in the destructor of some other static class'
Ответ - да.
Вы можете увидеть значение указателя (адрес).
Вы можете посмотреть содержимое, если не указали delete по указателю.
Переменные статической функции ведут себя так же, как переменные статического класса и глобальные переменные ( aka нелокальная статика), в этом случае деструкторы будут вызываться в обратном порядке создания. Целые числа, числа с плавающей точкой и указатели (POD) не имеют деструкторов, поэтому с ними ничего не происходит, пока процессы не будут удалены.
POD-объекты: на данные можно безопасно ссылаться из деструктора других объектов (даже глобальных).
Другие статические объекты (т. Е. Объекты с деструкторами): в общем случае доступ к этим объектам после выхода из main () небезопасен, поскольку порядок уничтожения неизвестен (это обратный порядок создания. , но порядок создания сложен, см .: Строительный приказ ). Это можно сделать, но вы должны принять явные меры предосторожности, чтобы убедиться, что объект все еще жив.
Примечание: нелокальная статика:
Память всегда будет там, объект будет недействителен после вызова деструктора (обратите внимание, что POD не имеет деструктора).
Примечание: стек:
Действителен только до тех пор, пока не останется область, в которой они объявлены.
После извлечения стека страница памяти, на которой он находится, потенциально может быть отброшена, что приведет к сбоям SEG, если вы попытаетесь получить к нему доступ.
Примечание: куча:
Действителен до тех пор, пока вы не вызовете delete для указателя, который его выделил.
После удаления указателя значение может быть случайным, так как его можно использовать повторно.
Потенциально страница, на которой была память, также может быть удалена. Любой доступ к удаленной странице приведет к ошибке SEG.