5.2.7/7 nói cái gì đó dọc theo dòng:Khi nào dynamic_cast <void*> hữu ích?
Nếu
T
là "con trỏ đếncv void
", kết quả là một con trỏ tới lớp được thừa kế hầu hết được trỏ đến bởix
.
Ứng dụng tốt của synatx này là gì? Khi nào nên sử dụng dynamic_cast<void*>
?
Dưới đây là một ví dụ về những gì MSalters được mô tả: http://ideone.com/84U5ax –
Tôi nghĩ allocators có thể tận dụng điều này (quản lý bộ nhớ). Ví dụ. nếu bạn cần địa chỉ bắt đầu của một khối bộ nhớ, nhưng bạn chỉ có một con trỏ đến một lớp cơ sở. – dyp
@dyp: Nếu bạn đã có một đối tượng, bộ nhớ của nó phải đã được cấp phát, do đó, người cấp phát không thể phân bổ lại điều đó. Và đối với deallocation bạn cần nhiều hơn chỉ là địa chỉ cơ sở, bạn cần loại có nguồn gốc cao nhất để bạn có thể chạy tất cả các destructors. – MSalters