Вы должны сами следить за этим. В общем, никакая структура C ++ не может проверить, действителен ли еще необработанный указатель.
Если память, на которую указывает указатель, освобождена, доступ к ее содержимому теперь будет неопределенным. В этом разделе ОЗУ может быть любое значение, поэтому любая проверка, которую вы сделаете, даст вам в лучшем случае случайный ответ или в худшем - segfault.
TL; DR при работе с указателями на C ++ вы обязаны отслеживать время жизни ваших объектов.
Когда окно в GLFW уничтожается, его содержимое будет освобождено, что приведет к описанному выше сценарию.