2
Использует malloc для поведения int undefined до C ++ 20
Мне сказали, что следующий код имеет неопределенное поведение до C ++ 20: int *p = (int*)malloc(sizeof(int)); *p = 10; Это правда? Аргументом было то, что время жизни intобъекта не начинается до присвоения ему значения ( P0593R6 ). Для устранения проблемы newследует использовать размещение: int *p = (int*)malloc(sizeof(int)); new (p) int; …