Является ли следующий допустимый C ++ четко определенным поведением?
class my_class { ... };
int main()
{
char storage[sizeof(my_class)];
new ((void *)storage) my_class();
}
Или это проблематично из-за соображений приведения / выравнивания указателя?