2
Використовує malloc для невизначеної поведінки int до C ++ 20
Мені сказали, що наступний код має невизначену поведінку до С ++ 20: int *p = (int*)malloc(sizeof(int)); *p = 10; Це правда? Аргументом було те, що час життя intоб’єкта не починається до присвоєння йому значення ( P0593R6 ). Щоб вирішити проблему, newслід використовувати розміщення: int *p = (int*)malloc(sizeof(int)); new (p) int; …