Tôi đang xem xét một số mã cũ và đi qua x=new(Foo);
(lưu ý dấu ngoặc đơn xung quanh loại được cung cấp). Tôi đã thử nghiệm các biến thể và nó có vẻ giống như x=new Foo;
Có phải "x = new (Foo)" giống như "x = new Foo" cho một Foo tùy ý không?
Foo là cấu trúc dữ liệu không phải POD. Một số chương trình rò rỉ bộ nhớ ngoài đang gắn cờ dòng - nó cấp phát bộ nhớ cho một tham số CORBA, do đó người gọi cần phải quan tâm đến việc xóa nhưng đó là một vấn đề riêng biệt với nhiều lớp vô hướng.
Phân tích của tôi có chính xác và có chấp nhận được không?
Đó là những gì tôi nghĩ quá, nhưng nó quay ra rằng nó phải có nhiều tinh tế hơn thế. Ví dụ, đoạn mã sau không biên dịch: '(int) main() {return 0; } '. –
Không đúng, dấu ngoặc đơn thường không được phép. – zch
@zch Sau đó, có một (không có tham chiếu thumping, mặc dù tôi cảm giác này đến) danh sách ngắn khi ngoặc đơn * được * cho phép xung quanh các loại? –