Я слишком много читал StackOverflow и начал сомневаться во всем коде, который я когда-либо писал, я все время думаю: "Это что-то вроде undefined?" даже в коде, который работал целую вечность.
Итак, мой вопрос: безопасно ли и четко определено поведение, чтобы направить указатель на объект (в данном случае абстрактные классы интерфейса) на void *, а затем позже вернуть их к исходному классу и вызвать метод, используя их?
Я полностью понимаю, что код, который делает это, вероятно, ужасен. Я бы даже не подумал написать это сейчас (это старый код, который я действительно не хочу менять), поэтому я не ищу обсуждения лучших способов сделать это. Я уже знаю, как лучше писать, если я когда-нибудь это повторю. Но если это действительно сломано, чтобы полагаться на это на С++, тогда мне придется посмотреть на изменение кода, если это просто ужасный код, а затем его изменение не будет приоритетом.
У меня не было бы никаких сомнений по поводу чего-то такого простого года или двух назад, но по мере того, как мое понимание С++ возрастает, я нахожу, что все больше беспокоится о безопасности кода под стандартами, даже если он работает отлично. Возможно, чтение слишком большого - это плохо для производительности иногда: P