2
Apakah menggunakan malloc untuk int perilaku tidak terdefinisi hingga C ++ 20
Saya diberitahu bahwa kode berikut memiliki perilaku tidak terdefinisi hingga C ++ 20: int *p = (int*)malloc(sizeof(int)); *p = 10; Benarkah itu? Argumennya adalah bahwa masa pakai intobjek tidak dimulai sebelum menetapkan nilainya ( P0593R6 ). Untuk mengatasi masalah tersebut, penempatan newharus digunakan: int *p = (int*)malloc(sizeof(int)); new (p) int; …