tôi có thể sử dụng smth như đoạn mã sau:điều hành xóa và đúc
int main()
{
int* foo = new int;
double* bar = reinterpret_cast<double*>(foo);
delete bar;
}
Có UB?
Tôi nghĩ rằng chúng ta cần phải gọi toán tử xóa chỉ cho con trỏ được trả về bởi toán tử mới, nhưng điều gì về việc đúc trong trường hợp này?
Tôi nghĩ rằng đó là UB vì reinterpret_cast không đưa ra bất kỳ đảm bảo nào về con trỏ kết quả. Tôi có đúng không?
Ai đó có thể đăng câu đúng từ tiêu chuẩn không?
Lưu ý rằng UB ở đây nằm trong biểu thức xóa, chứ không phải toán tử xóa. – PlasmaHH
Ok, vậy UB ở đây là gì? Bạn có thể đăng báo giá từ tiêu chuẩn không? – FrozenHeart