Скажем, у меня есть следующий С++:
char *p = new char[cb];
SOME_STRUCT *pSS = (SOME_STRUCT *) p;
delete pSS;
Является ли это безопасным в соответствии со стандартом С++? Нужно ли возвращаться к char*, а затем использовать delete[]? Я знаю, что это будет работать в большинстве компиляторов С++, потому что это обычные обычные данные без деструкторов. Гарантировано ли это безопасно?